01/10/2018, 16:53

Cần giúp phần code PHP ạ

Em có đoạn code như sau:

<?php
	$severname=$uername=$password=$dbname=$rows="";
	$servername="localhost";
	$username="root";
	$password="";
	$dbname="webtintuc";
	$conn=mysqli_connect($servername,$username,$password,$dbname);
	$result= mysqli_query($conn,"SELECT * FORM user");
	$rows=mysqli_num_rows($result);
	echo $rows;
?>
 các bạn cô thể xem video để hiểu rõ hơn: https://www.youtube.com/watch?v=UpR-t2LOWZg

---------------VÀ NÓ BÁO LỖi :

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:xampphtdocsphp estphp1.php on line 9

Madafaker viết 19:05 ngày 01/10/2018

nó ghi rõ là bạn truyền vào 1 boolean trong khi nó mong đợi là 1 mysqli_result kìa …debug coi cái result kìa trả về cái gì ??

Rateew viết 19:05 ngày 01/10/2018

Lỗi: $daname=“webtintuc”;
trong khi ở dưới khai báo biến $dbname???

Bi Tran viết 19:06 ngày 01/10/2018

Mình sửa lại rồi vẫn bị lỗi đó.

Son Tran viết 19:01 ngày 01/10/2018

“SELECT * FORM user”

Đổi thành SELECT * FROM user

Bi Tran viết 19:05 ngày 01/10/2018

Không được như vậy sẽ bị lỗi chuỗi kí tự.

Son Tran viết 19:01 ngày 01/10/2018

Bạn phải show lỗi ra thì mình mới biết vấn đề nó nằm ở đâu chứ, và bạn dùng bảng user với tên là user hay users?
Bước đầu tiên bạn cần chạy câu lệnh SQL đó bằng trình quản lý DB đã, nếu ok rồi thì paste vào code thì mới đảm bảo ko có lỗi linh tinh.

Bi Tran viết 19:09 ngày 01/10/2018

mình viết giống ông này nè ::https://www.youtube.com/watch?v=UpR-t2LOWZg

Son Tran viết 18:57 ngày 01/10/2018

Vậy thì có vài câu hỏi bạn phải trả lời trước khi chạy dòng sql đó:
1/ Bảng user đã được tạo chưa?
2/ Bạn đã chạy thử câu lệnh đó trong phpmyadmin chưa?

Bi Tran viết 18:57 ngày 01/10/2018

1/Đã tạo rồi (đã tạo bảng user và kiểm tra lại rất kĩ không sai kí tự nào).
2/ Ý bạn là code SQL. Mà bạn xem video chưa? mình làm giống vậy mà.

Son Tran viết 19:09 ngày 01/10/2018

Bạn đừng quan tâm việc làm giống hay ko giống video, đây là nguyên lý chung.
phpmyadmin có cho phép execute raw SQL trong db tương ứng. Bạn chạy trong đó nếu ko có lỗi gì thì đem ra ngoài sẽ ok.
Còn nếu vẫn ko OK thì do bạn kết nối db sai username hay password.

Hieu Phan Long viết 19:07 ngày 01/10/2018

theo như trong document: For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error. You should check what it returns before to make sure it didn’t return false before you start running other functions on it.
điều nãy nghĩa là cái hàm mysqli_query sẽ trả về một cái boolean thay cho một cái result nếu như nó bị lỗi, do đó có thể câu query của bạn nó có vấn đề hoặc là database của bạn có vấn đề

Quân viết 19:02 ngày 01/10/2018

SELECT * FORM user

Câu lệnh select sai lòi ra rồi còn gì.
PS: lần sau đừng đưa video của 1 ông nào đó rồi nói đã làm giống mà không chạy, không có ý nghĩa gì đâu. Người ta làm chạy được mà mình không được thì có nghĩa là đã có sự khác nhau rồi.

Quân viết 18:57 ngày 01/10/2018

Lỗi chuỗi kí tự là lỗi gì, có phải là không hiển thị tiếng Việt.

Vietlubu viết 18:56 ngày 01/10/2018

SELECT * FORM user là sai rồi bạn ơi. Mấy bạn trên cũng có nói rồi. Trong video bạn gửi thì cũng dùng là FROM chứ không phải là FORM

Bi Tran viết 19:05 ngày 01/10/2018

Cảm ơn bạn nhiều lắm

Bi Tran viết 18:54 ngày 01/10/2018

Cảm ơn bạn nhiều lắm!

Bi Tran viết 19:00 ngày 01/10/2018

Dù sao thì cũng cảm ơn bạn nhiều.

Quy Le viết 19:07 ngày 01/10/2018

$result= mysqli_query($conn,“SELECT * FORM user”);
$rows=mysqli_num_rows($result);
echo $rows;

Chỗ gõ sai chính tả thì các bạn đã comment rồi em sửa lại,
Và có thêm chú ý là hàm mysqli_query sẽ trả về hằng FALSE trong trường hợp failure
Ngược lại thì sẽ trả về 1 mysqli_result object.
Cho nên trước khi muốn dùng $result thì em nên check trước.
Sửa lại chút như sau:

$rows = 0;
if($result = mysqli_query($conn, "SELECT * FROM user")){
    $rows = mysqli_num_rows($result);
}
echo $rows;
Bài liên quan
0