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
Bài liên quan
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ì ??
Lỗi: $daname=“webtintuc”;
trong khi ở dưới khai báo biến $dbname???
Mình sửa lại rồi vẫn bị lỗi đó.
Đổi thành
SELECT * FROM user
Không được như vậy sẽ bị lỗi chuỗi kí tự.
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
hayusers
?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.
mình viết giống ông này nè ::https://www.youtube.com/watch?v=UpR-t2LOWZg
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?
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à.
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.
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 đề
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.
Lỗi chuỗi kí tự là lỗi gì, có phải là không hiển thị tiếng Việt.
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
Cảm ơn bạn nhiều lắm
Cảm ơn bạn nhiều lắm!
Dù sao thì cũng cảm ơn bạn nhiều.
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: