Mysqli_num_rows() mong đợi tham số 1

Mysqli_num_rows() dự kiến ​​tham số 1 là mysqli_result là một trong những loại lỗi cơ bản nhất xảy ra trong PHP khi sử dụng các hàm MySQLi

Mục lục

  • Cảnh báo. Mysqli_num_rows() Yêu cầu Tham số 1 là Mysqli_result
    • Dung dịch
    • GIẢI MÃ
    • Phần kết luận

Cảnh báo. Mysqli_num_rows() Yêu cầu Tham số 1 là Mysqli_result

Nếu bạn gặp phải lỗi này, đừng hoảng sợ; . Về cơ bản, “mysqli_num_rows() mong đợi tham số 1 là mysqli_result” là một cảnh báo xảy ra khi tìm nạp dữ liệu bằng các hàm MySQLi

Khi chúng ta sử dụng hàm mysqli_query() với truy vấn SELECT, nó sẽ trả về một số dữ liệu kết quả từ cơ sở dữ liệu. Chúng ta có thể sử dụng hàm mysqli_fetch_array() hoặc mysqli_fetch_assoc() để tìm nạp mọi hàng kết quả

Ví dụ

Ta có một bảng sinh viên gồm 2 cột id và name. ”

Mysqli_num_rows() mong đợi tham số 1
Mysqli_num_rows() mong đợi tham số 1

và chúng tôi có mã PHP để lấy tên sinh viên như bên dưới

SELECT * FROM `students` WHERE `id`=4");
    while($data = mysqli_fetch_assoc($result)){
        echo $data["name"];
    }
?>

Nếu ta muốn tìm tên sinh viên có id là '1' thì sẽ hiển thị kết quả như bên dưới

đầu ra

Nick

Đoạn mã PHP trên đúng vì có trường có ‘id’ = 1

Bây giờ, nếu chúng tôi cố gắng lấy tên trong đó 'id' = 4

Ở đây xảy ra sự cố về 'Cảnh báo. Mysqli_num_rows() Yêu cầu Tham số 1 là Mysqli_result‘

Cảnh báo này có thể xuất hiện trên trang PHP của bạn hoặc trong lỗi. tệp nhật ký;

Dung dịch

Như chúng ta có thể hiểu từ lời giải thích ở trên rằng mysqli_query() không trả về dữ liệu nào vì không có bản ghi dữ liệu nào tồn tại với 'id' = 4 nhưng chương trình vẫn tiếp tục và chạy truy vấn tiếp theo của mysqli_fetch_assoc(), truy vấn này mong đợi ít nhất một hàng trong $

Để giải quyết vấn đề đó, chúng tôi chỉ cần kiểm tra số lượng kết quả và chỉ tìm nạp dữ liệu nếu có ít nhất 1 hàng trong dữ liệu kết quả

Admin nhận làm wap,forum giá rẻ. Liên hệ thông tin quản trị viên cuối trang để thương lượng giá và demo. Cảm ơn tất cả


Đăng. Nhox Tham dự
Lượt xem. 5648
Ngày Đăng. 2015-02-25 / 13. 52. 25
Chia sẻ.

Mysqli_num_rows() mong đợi tham số 1
Mysqli_num_rows() mong đợi tham số 1
Mysqli_num_rows() mong đợi tham số 1
Mysqli_num_rows() mong đợi tham số 1


VD bị lỗi.
Cảnh báo. mysql_fetch_array() mong đợi tham số 1 là tài nguyên, boolean đã cho
- Có thể truy vấn câu hỏi của bạn có vấn đề, cách tìm ra lỗi như sau.
1. You echo query and into phpmyadmin running try. Nếu ok thì làm tiếp bước 2. Không ổn thì câu hỏi của bạn bị lỗi cú pháp.
2. Khi câu truy vấn của bạn không bị lỗi cú pháp, trong mã php trước khi sử dụng lệnhmysql_fetch_array)[ để kiểm tra số bản ghi trả về > 0 mới thực hiện hàm mysql_fetch_array().
Vd addif (mysqli_num_rows($query)>0)

Em error. Cảnh báo. mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result, boolean được đưa ra trong D. \Xampp\htdocs\shopLM\dantran_hethong\head. php trên dòng 144. Đã thử nhiều cách trên google nhưng không được. Các pro giúp em với

Tôi gặp một số khó khăn khi kiểm tra xem User_id Facebook đã tồn tại trong cơ sở dữ liệu của mình chưa (nếu không, thì nên chấp nhận người dùng là người dùng mới và nếu không thì chỉ cần tải ứng dụng canvas). Tôi đã chạy nó trên máy chủ lưu trữ của mình và không có vấn đề gì, nhưng trên máy chủ cục bộ của tôi thì nó báo lỗi sau

Nội dung chính Hiển thị

  • Câu trả lời được đề xuất
  • Tất cả 19 câu trả lời
  • Làm cách nào để bạn khắc phục cảnh báo mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result boolean đã cho?
  • Chức năng của mysqli_fetch_array là gì?
  • Sự khác biệt giữa Mysqli_fetch_assoc và mysqli_fetch_array là gì?
  • mysqli_result là gì?

mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result, boolean được đưa ra trong

Đây là mã của tôi

 insert
    if (!($checken2)) {
        $add = "INSERT INTO users (fb_id, full_name, first_name, last_name, email) VALUES ('$fb_id', '$full_name', '$first_name', '$last_name', '$email')";
        mysqli_query($con, $add);
    }
    // Double-check, the user won't be able to load the app on failure inserting to the database
    if (!($checken2)) {
        echo "Excuse us " . $first_name . ". Something went terribly wrong! Please try again later!";
        exit;
    }
} else {
    include ('sorrylocale.html');
    exit;
}

Tôi đã đọc rằng nó có liên quan đến truy vấn của tôi bị sai, nhưng nó đã hoạt động trên nhà cung cấp dịch vụ lưu trữ của tôi nên không thể như vậy được

Tôi đang tạo một trang web cơ bản cho một trong các bài tập của mình, trang này phải xem cơ sở dữ liệu tôi đã tạo trong MyPHPAdmin, thêm và xóa bản ghi

Theo quan điểm của tôi. php trên dòng 55 đó là

while($row = mysqli_fetch_array( $result ))

Lỗi sau xuất hiện

Cảnh báo. mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result, boolean được đưa ra trong C. \xampp\htdocs\Xem. php trên dòng 55

Tại sao điều này lại xảy ra và tôi có thể làm gì để giải quyết lỗi này?

Những gì tôi đã thử

Đã thử sử dụng các trang web tương tự như trang này, chẳng hạn như StackOverflow và không tìm thấy giải pháp nào trả lời câu hỏi của tôi cũng như giải pháp mà tôi hiểu vì tôi là người mới bắt đầu sử dụng PHP


nơi bạn đang chạy mysqli_query , hãy thêm 'hoặc chết( mysqli_error($db)'
e. g

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));

$db là biến giữ kết nối tới db

Bạn phải kiểm tra giá trị trả về của PHP trước đó. mysqli. truy vấn - Gọi thủ công[^] để thành công. Nếu thất bại, nó trả về một giá trị boolean

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
7 thay vì một đối tượng
$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
8

Xem liên kết trên về cách kiểm tra lỗi và báo cáo chúng. Việc in thông báo lỗi rất hữu ích để biết điều gì đã xảy ra (thường là lỗi cú pháp SQL)

if($result){
while ($row = mysqli_fetch_array($result)) {
echo "result is more than 1" }
}
else{
echo "result is empty"
}

while($row = mysqli_fetch_array( $result ))
mã sai
$sql="Đây là truy vấn SQL";< .
$result=mysqli_query($con,$sql);///$con is your MySQL connection code
while($row = mysqli_fetch_array( $result,MYSQLI_ASSOC)){
printe_r($row);
}
/////////////////////////Now all set use it.

tôi muốn in báo cáo hóa đơn của mình nhưng lại gặp lỗi này. Làm thế nào tôi có thể giải quyết?

Lỗi nghiêm trọng. Lỗi loại chưa bắt được. mysqli_fetch_array(). Đối số #1 ($result) phải thuộc loại mysqli_result, bool được đưa ra trong
C. \xampp\htdocs\Quản lý hiệu thuốc\php\manage_invoice. php. 80 Dấu vết ngăn xếp. #0 độ C. \xampp\htdocs\Quản lý hiệu thuốc\php\manage_invoice. php(80). mysqli_fetch_array(false) #1 C. \xampp\htdocs\Quản lý hiệu thuốc\php\manage_invoice. php(19).
printInvoice('3') #2 {main} được ném vào C. \xampp\htdocs\Quản lý hiệu thuốc\php\manage_invoice. php trên dòng 80

mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result, bool được đưa ra trong C. \xampp\htdocs\pertandingan mewarna\item. php trên dòng 8

Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code (CPOL)

Mysqli_num_rows() mong đợi tham số 1

ko ko 97 Thực tế là một người đăng chính

11 năm trước

CHỌN $criteria Tại sao ký hiệu đô la trước 'tiêu chí' sau 'CHỌN'?

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

pritaeas 2.114 ¯\_(ツ)_/¯ Người điều hành Featured Poster

11 năm trước

Chỉ làm điều đó nếu bạn muốn thay thế nó bằng một biến. Nếu bạn cho là sai, hãy thay thế bằng dấu *

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

hielo 65 Áp phích Cựu chiến binh

11 năm trước

cố gắng

$result_1= mysqli_query($link, "SELECT $criteria FROM table ORDER BY $crieria ASC") or die( mysqli_error($link) );

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

11 năm trước

cố gắng

$result_1= mysqli_query($link, "SELECT $criteria FROM table ORDER BY $crieria ASC") or die( mysqli_error($link) );

Luôn để PHP hiển thị lỗi cho bạn trong quá trình phát triển. Một cách khác được mô tả trong PHP Manual là

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
0

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

11 năm trước

bởi vì tôi chuyển đầu vào của người dùng ở $criteria

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

11 năm trước

tôi đã lặp lại điều này
echo "SELECT $criteria FROM table ORDER BY $crieria ASC";

nhưng sau đó kết quả hiển thị chỉ là.
CHỌN TỪ tiêu chí ĐẶT HÀNG THEO ASC

chứ không phải dữ liệu thực từ cơ sở dữ liệu. tôi có thể làm gì để làm cho nó lặp lại tất cả dữ liệu trong ASC?

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

11 năm trước

tôi đã lặp lại điều này
echo "SELECT $criteria FROM table ORDER BY $crieria ASC";

nhưng sau đó kết quả hiển thị chỉ là.
CHỌN TỪ tiêu chí ĐẶT HÀNG THEO ASC

chứ không phải dữ liệu thực từ cơ sở dữ liệu. tôi có thể làm gì để làm cho nó lặp lại tất cả dữ liệu trong ASC?

Sau đó, vấn đề không phải là trong truy vấn. Vấn đề là ở đầu vào $criteria của bạn. Kiểm tra đầu vào của bạn hoặc đăng tất cả các mã của bạn

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

4 năm trước

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
1

?>

Cảnh báo. mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result, boolean được đưa ra trong C. \xampp\htdocs\php_crud\index. php trên dòng 8

vui lòng giải mã ở trên nó?

Mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in

4 năm trước

Mã của tôi.
?phpinclude("xác nhận. php");
include("kết nối. php");
if(isset($_POST["button"]))

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
2

$sql="INSERT INTO administrator (adminid, adminname, password, address, contactno)
VALUES
('$_POST[adminid]'

nếu (. mysql_query($sql,$con))

chết ('Lỗi. '. mysql_error());

khác

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
3

$result = mysql_query("CHỌN * TỪ quản trị viên");
while($row1 = mysql_fetch_array($result))

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
4

if(isset($_POST["button2"]))

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
2

mysql_query("CẬP NHẬT quản trị viên SET adminname='$_POST[adminname]', address='$_POST[address]', contactno='$_POST[contactno]'
WHERE
echo "Record updated successfully";

if($_GET[view] == "quản trị viên")

$result = mysql_query("CHỌN * TỪ quản trị viên trong đó adminid='$_GET[slid]'");
while($row1 = mysql_fetch_array($result))

$sql = "SELECT * FROM users";
$result = mysqli_query($db, $sql) or die( mysqli_error($db));
6

$liên hệ = $row 1["số liên hệ"];

?>

Sau khi thực hiện có cảnh báo dưới đây

Cảnh báo. mysql_fetch_array() hy vọng tham số 1 là tài nguyên, boolean được đưa ra trong

Xin hãy hỗ trợ

Trả lời chủ đề này

Hãy là một phần của cộng đồng DaniWeb

Chúng tôi là một cộng đồng thân thiện, tập trung vào ngành gồm các nhà phát triển, chuyên gia CNTT, nhà tiếp thị kỹ thuật số và những người đam mê công nghệ gặp gỡ, học hỏi và chia sẻ kiến ​​thức

Làm cách nào để bạn khắc phục cảnh báo mysqli_fetch_array() dự kiến ​​tham số 1 là mysqli_result boolean đã cho?

Giải pháp 1 Bạn phải kiểm tra giá trị trả về của PHP trước đó. mysqli. truy vấn - Gọi thủ công[^] để thành công . Nếu thất bại, nó trả về giá trị boolean false thay vì đối tượng mysqli_result. Xem liên kết trên về cách kiểm tra lỗi và báo cáo chúng.

Chức năng của mysqli_fetch_array là gì?

Định nghĩa và cách sử dụng Hàm fetch_array() / mysqli_fetch_array() tìm nạp một hàng kết quả dưới dạng một mảng kết hợp, một mảng số hoặc cả hai . Ghi chú. Tên trường được trả về từ hàm này phân biệt chữ hoa chữ thường.

Sự khác biệt giữa Mysqli_fetch_assoc và mysqli_fetch_array là gì?

Sự khác biệt chính giữa mysqli_fetch_assoc và mysqli_fetch_array là định dạng đầu ra của dữ liệu kết quả. mysqli_fetch_assoc trả về dữ liệu trong một mảng kết hợp và mysqli_fetch_array trả về dữ liệu trong một mảng số và/hoặc trong một mảng kết hợp