Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > PHP มีปัญหาเรื่อง Fatal error: Uncaught TypeError: array_search(): Argument #2



 

PHP มีปัญหาเรื่อง Fatal error: Uncaught TypeError: array_search(): Argument #2

 



Topic : 136018



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์




ERROR เต็มครับ
Fatal error: Uncaught TypeError: array_search(): Argument #2 ($haystack) must be of type array, null given in C:\xampp\htdocs\thipseafood\staff\cart\cook_cart\order.php:15 Stack trace: #0 C:\xampp\htdocs\thipseafood\staff\cart\cook_cart\order.php(15): array_search('162', NULL) #1 {main} thrown in C:\xampp\htdocs\thipseafood\staff\cart\cook_cart\order.php on line 15


Code (PHP)
<?php
ob_start();
session_start();

if (!isset($_SESSION["intLine"])) {
	if (isset($_POST["txtProductID"])) {
		$_SESSION["intLine"] = 0;
		$_SESSION["strProductID1"][0] = $_POST["txtProductID"];

		$_SESSION["strQty"][0] = $_POST["txtQty"];

		header("location:show.php");
	}
} else {
	$key = array_search($_POST["txtProductID"], $_SESSION["strProductID1"]);
	if ((string)$key != "") {
		$_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + $_POST["txtQty"];
	} else {

		$_SESSION["intLine"] = $_SESSION["intLine"] + 1;
		$intNewLine = $_SESSION["intLine"];
		$_SESSION["strProductID1"][$intNewLine] = $_POST["txtProductID"];
		$_SESSION["strQty"][$intNewLine] = $_POST["txtQty"];
	}

	header("location:show.php");
}
?>


คิดว่าเหตุผลที่ ERROR เพราะผมลองเปลี่ยนชื่อ SESSION เป็น $_SESSION["strProductID1"] จากเดิม $_SESSION["strProductID"]

ไม่ทราบว่าจะแก้ไขยังไงดีครับ ขอบคุณล่วงหน้าครับ



Tag : PHP, XAMPP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-03-24 22:55:09 By : dellboy1160 View : 3183 Reply : 13
 

 

No. 1



โพสกระทู้ ( 4,719 )
บทความ ( 8 )



สถานะออฟไลน์


Fatal error: Uncaught TypeError:
ข้อผิดพลาดร้ายแรง:

array_search():

Argument #2 ($haystack) must be of type array
อาร์กิวเมนต์ # 2 ($ haystack) ต้องเป็นประเภทอาร์เรย์

null given
ให้เป็น null


array_search()
https://www.google.com/search?q=array_search > https://www.php.net/manual/en/function.array-search.php

Code (PHP)
array_search ( mixed $needle , array $haystack , bool $strict = false )


Quote:
haystack

The array.


Code (PHP)
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;



.........


argument ที่ 2 ของคุณคือ $_SESSION["strProductID1"]
แล้วมันเป็นประเภทอย่างที่เขาต้องการไหม? เป็น array ไหม?

ตรวจก่อนใช้ด้วย if (is_array($_SESSION["strProductID1"])) {...}






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-25 00:01:43 By : mr.v
 


 

No. 2



โพสกระทู้ ( 23 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-25 13:29:10 By : dellboy1160
 

 
ต้องแก้ยังไงครับ
Fatal error: Uncaught TypeError: mysqli_error(): Argument #1 ($mysql) must be of type mysqli, string given in F:\XAMPP\htdocs\Project\1\website\process2.php:37 Stack trace: #0 F:\XAMPP\htdocs\Project\1\website\process2.php(37): mysqli_error('INSERT INTO che...') #1 {main} thrown in F:\XAMPP\htdocs\Project\1\website\process2.php on line 37

Code (VB.NET)
Code (PHP)
include 'connect2.php';

print_r ($_POST);    

    $img = $_POST['inpFile'];
    $name = $_POST['name'];
    $phonenumber = $_POST['phone'];
    $bath = $_POST['money'];
    $banks = $_POST['select'];
    $date = $_POST['day'];
    $time= $_POST['time'];

    $data = "INSERT INTO checkpay
    (
    inpFile, 
    name, 
    phone, 
    money, 
    select, 
    day, 
    time
    )
    VALUES
    (
    '$img', 
    '$name', 
    '$phonenumber', 
    '$bath', 
    '$banks', 
    '$date', 
    '$time'
    )
    ";

$resu = mysqli_query($conn, $data) or die("Error in sql : $data". 
mysqli_error($data));   

mysqli_close($conn);


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-21 04:20:19 By : Tester
 


 

No. 4



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

บรรทัดที่ 37 เขียนผิดครับ mysqli_error($data) เป็นเป็น mysqli_error($conn)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-21 09:05:38 By : {Cyberman}
 


 
ผมพลาดอะไรไปรึป่าวครับผมลองแก้แล้วขึ้นเหมือนเดิม
Error in sql : INSERT INTO checkpay ( Name, Phonenumber, Bath, Banks, Date, Time, Images ) VALUES ( 'Tester 12334', '0915467888', '500', 'SCB', '2021-07-06', '15:33' 'btn3.png' ) Column count doesn't match value count at row 1
db

Code (PHP)
<?php

include 'connect2.php';


    $name2 = $_POST['name'];
    $phonenumber = $_POST['phone'];
    $bath = $_POST['bath'];
    $banks = $_POST['banks'];
    $date = $_POST['dmy'];
    $time= $_POST['timer'];
    $image= $_POST['images'];


    $data = "INSERT INTO checkpay
    ( Name, Phonenumber, Bath, Banks, Date, Time, Images )
    VALUES
    (
    '$name2', 
    '$phonenumber', 
    '$bath', 
    '$banks', 
    '$date', 
    '$time'
    '$image'
    )
    ";

$resu = mysqli_query($conn, $data) or die("Error in sql : $data". 
mysqli_error($conn));   

mysqli_close($conn);

?>
<?php 
require_once('wait.php'); 
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-21 14:22:51 By : Tester
 


 

No. 6



โพสกระทู้ ( 9,556 )
บทความ ( 2 )



สถานะออฟไลน์


Column count doesn't match value count at row 1
คอมม่า หายไปตัว


ประวัติการแก้ไข
2021-07-21 14:54:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-21 14:52:14 By : Chaidhanan
 


 
ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-07-21 14:52:14
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-07-21 15:02:23 By : Tester
 


 
Fatal error: Uncaught TypeError: mysqli_fetch_array(): Argument #1 ($result) must be of type mysqli_result, bool given in F:\XAMPP\htdocs\Project\admin\register\login.php:11 Stack trace: #0 F:\XAMPP\htdocs\Project\admin\register\login.php(11): mysqli_fetch_array(false) #1 {main} thrown in F:\XAMPP\htdocs\Project\admin\register\login.php on line 11


<?php
include_once('function.php');

$userdata = new DB_con();

if (isset($_POST['login'])){
$uname = $_POST['username'];
$password= $_POST['password'];

$result = $userdata->signin($uname, $password);
$num = mysqli_fetch_array($result);

if ($num > 0) {
$_SESSION['id'] = $num ['id'];
$_SESSION['fname'] = $num ['fullname'];
echo "<script>alert('Login Successful!');</script>";
echo "<script>window. location.href='orderlist.php'</script>";
} else {
echo "<script>alert('Login Failed!');</script>";
echo "<script>window. location.href='login.php'</script>";
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<form method="POST">
<h1>Login</h2>
<hr>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">User Name</label>
<input type="text" class="form-control" id="username" name="username">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<button type="submit" class="btn btn-primary" name="login">Login</button>
</form>

</div>



<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-eMNCOe7tC1doHpGoWe/6oMVemdAVTMs2xqW4mwXrXsW0L84Iytr2wi5v2QjrP/xp" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-cn7l7gDp0eyniUwwAZgrzD06kc/tftFf19TOAs2zVinnD/C7E91j9yyk5//jjpt/" crossorigin="anonymous"></script>
</body>
</html>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 22:22:23 By : Tester
 


 
ช่วยทีครับ
Fatal error: Uncaught TypeError: mysqli_fetch_array(): Argument #1 ($result) must be of type mysqli_result, bool given in F:\XAMPP\htdocs\Project\admin\register\login.php:11 Stack trace: #0 F:\XAMPP\htdocs\Project\admin\register\login.php(11): mysqli_fetch_array(false) #1 {main} thrown in F:\XAMPP\htdocs\Project\admin\register\login.php on line 11
Code (VB.NET)
<?php
include_once('function.php');

$userdata = new DB_con();

if (isset($_POST['login'])){
$uname = $_POST['username'];
$password= $_POST['password'];

$result = $userdata->signin($uname, $password);
$num = mysqli_fetch_array($result);

if ($num > 0) {
$_SESSION['id'] = $num ['id'];
$_SESSION['fname'] = $num ['fullname'];
echo "<script>alert('Login Successful!');</script>";
echo "<script>window. location.href='orderlist.php'</script>";
} else {
echo "<script>alert('Login Failed!');</script>";
echo "<script>window. location.href='login.php'</script>";
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<form method="POST">
<h1>Login</h2>
<hr>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">User Name</label>
<input type="text" class="form-control" id="username" name="username">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<button type="submit" class="btn btn-primary" name="login">Login</button>
</form>

</div>



<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-eMNCOe7tC1doHpGoWe/6oMVemdAVTMs2xqW4mwXrXsW0L84Iytr2wi5v2QjrP/xp" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-cn7l7gDp0eyniUwwAZgrzD06kc/tftFf19TOAs2zVinnD/C7E91j9yyk5//jjpt/" crossorigin="anonymous"></script>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 22:25:14 By : Arno
 


 

No. 10



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


Oops! หาโค้ด VB ไม่เจอ



เข้าไปแก้ SQL statement ในเมธอด DB_con::signin()
ส่วนแก้ไขว่าอย่างไรหารู้ได้ไม่ ด้วยหามีผู้ใดมองเห็นคลาสล่องหน
แม้นจักรู้ลึกตื้นหนาบาง จงสู้นำอาวุธมาปะกันที่ลานประลอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-10 04:47:54 By : TheGreatGod_of_Death
 


 

No. 11



โพสกระทู้ ( 9,556 )
บทความ ( 2 )



สถานะออฟไลน์


ตาม คห. 10
$userdata = new DB_con(); // โค๊ดล่งหน ไม่รู้มันทำอะไรได้บ้าง

ข้างล่างเดาเอา
Fatal error: Uncaught TypeError: mysqli_fetch_array(): Argument #1 ($result) must be of type mysqli_result, bool given in F:\XAMPP\htdocs\Project\admin\register\login.php:11 Stack trace: #0 F:\XAMPP\htdocs\Project\admin\register\login.php(11): mysqli_fetch_array(false) #1 {main} thrown in F:\XAMPP\htdocs\Project\admin\register\login.php on line 11

จาก error สีแดง ข้างบน ควรตรวจสอบ result ที่ได้ก่อนว่า สำเร็จไหม
Code (PHP)
$result = $userdata->signin($uname, $password);
if( !$result){ // ตรวจสอบ วา sqlstatement error หรือไม่ ถ้า error จะได้ค่า false
  die( $userdata->DB->error);  // ถ้า DB_con มีตัวแปร db เป็นที่เก็บ connection link
}
if($result->num_rows < 1 ){ // ตรวจสอบ จำนวน record ก่อนวา หาเจอไหม ถ้าไม่เจอ จะได้ ค่า 0
   die('ไม่พบ username or password');
}
//$num = mysqli_fetch_array($result); //เปลี่ยนเป็น row จ่าะสื่อความหมายมากกว่าไหม
$row = $result->fetch_object(); //  และเรียกใช้ แบบ object จะใช้งานดีกว่า




ประวัติการแก้ไข
2021-08-10 06:17:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-10 06:10:10 By : Chaidhanan
 


 
เราสามารถเรียกไฟล์ BLOB จาก Database(Mysql) มาขึ้นโชว์บนหน้าเว็บได้มั้ยครับ ถ้าได้ต้องทำยังไงบ้างหรอครับ
อันนี้คือันที่ผมลองเขียนดู
Code (VB.NET)
            <?php
            $connection = mysqli_connect("localhost","root","");
            $db = mysqli_select_db($connection,'order');

            $query = " SELECT * FROM `checkpay` ";
            $query_run = mysqli_query($connection,$query);

            while($row = mysqli_fetch_array($query_run))
            {
                ?>

            <tr>
                <td><?php echo $row['ID'];?></td>
                <td><?php echo $row['Name'];?></td>
                <td><?php echo $row['Phonenumber'];?></td>
                <td><?php echo $row['Bath'];?></td>
                <td><?php echo $row['Banks'];?></td>
                <td><?php echo $row['Date'];?></td>
                <td><?php echo $row['Time'];?></td>
                <td><?php echo '<img src="data:image/jpeg;base64,'.base64_encode($row['Images']).'"alt="Images"/>';?></td>
        </tr>
        <?php } ?> 
        <?php
            }
?>

แต่มันขึ้นแบบนี้ครับ
image
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-31 10:24:14 By : Arno
 


 
ผมอยากเอาราคามาคูณ จำนวน แต่ราคาตอนนี้ value มันรวมกับขนาดอยู่ ผมควรแก้ยังไงดีครับ
Code (VB.NET)
    <label for="size">ขนาดป้าย</label>
    <select name="select" id="size" required>
    <option  id="size" name="slct" value="" selected> เลือกขนาดป้ายไวนิล</option> 
    <option  id="size" name="slct1" value="1x1 เมตร,ราคา 200บาท" > 1x1 เมตร ราคา 200 บาท</option> 
    <option  id="size" name="slct2" value="1x2 เมตร,ราคา 300บาท" >1x2 เมตร ราคา 300 บาท</option> 
    <option  id="size" name="slct3" value="1x3 เมตร,ราคา 450บาท"> 1x3 เมตร ราคา 450 บาท</option>
    <option  id="size" name="slct4" value="1.20x2.40 เมตร,ราคา 450บาท" > 1.20x2.40 เมตร ราคา 450 บาท</option>
    <option  id="size" name="slct5" value="1.50x3 เมตร,ราคา 750บาท" > 1.50x3 เมตร ราคา 750 บาท</option>
    <option  id="size" name="slct6" value="2x4 เมตร,ราคา 1,200บาท"> 2x4 เมตร ราคา 1,200 บาท</option>
    </select><br>

    <label for="amou">จำนวน</label>
    <input type="text" id="amount" name="amount" placeholder="จำนวน" required><br>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-31 16:01:07 By : Arno
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : PHP มีปัญหาเรื่อง Fatal error: Uncaught TypeError: array_search(): Argument #2
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่