09/10/2018, 18:27

PHP hiện tượng lạ ??

Em viết 1 đoạn php như sau để đọc mẩu tin :
nhưng khi chạy truyền tham số cho biến $id thì nó lại báo lỗi :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Em mong các cao thủ chỉ dùm .

<?php
$dbuser="hanguyen_chv"; //Database Username
$dbname="hanguyen_chv"; //Database Name
$dbpass="hvschools"; // Database Password
$c=mysql_connect("localhost","$dbuser","$dbpass");
mysql_select_db($dbname);
$todo="SELECT * FROM news where tid=$id";
$solution=mysql_query($todo);
while ($place = mysql_fetch_array($solution))
{
$text=$place["post"];
echo "$text";
}
?>
php_programmer viết 20:43 ngày 09/10/2018
Ban nen echo cau lenh Select cua ban ra xem, minh nghi bien (id) ban truyen vao khong co day. Bao loi nhu vay la do cau lenh SQL khong tra ve gia tri.
traiHanoi viết 20:40 ngày 09/10/2018
$solution không phải là một mảng.
tức là không tìm được bản ghi nào
anhdabietyeu viết 20:41 ngày 09/10/2018
Quote Được gửi bởi hcvn
Em viết 1 đoạn php như sau để đọc mẩu tin :
nhưng khi chạy truyền tham số cho biến $id thì nó lại báo lỗi :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Em mong các cao thủ chỉ dùm .

<?php
$dbuser="hanguyen_chv"; //Database Username
$dbname="hanguyen_chv"; //Database Name
$dbpass="hvschools"; // Database Password
$c=mysql_connect("localhost","$dbuser","$dbpass");
mysql_select_db($dbname);
$todo="SELECT * FROM news where tid=$id";
$solution=mysql_query($todo);
while ($place = mysql_fetch_array($solution))
{
$text=$place["post"];
echo "$text";
}
?>
Nếu tui không nhầm thì đoạn:
$place=mysql_fetch_array($solution)) phải đổi thành
$place=mysql_fetch_array($solution,MYSQL_ASSOC));
a4hd viết 20:37 ngày 09/10/2018
Tôi nghĩ là biến $id chưa được gán giá trị cho nên câu lệnh SQL của bạn sẽ trở thành
SELECT * FROM news where tid=
Cũng có nghĩa là không thoả mãn điều kiện nào cả. Do đó kết quả trả về "Not Found" là đúng rồi!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource cũng có thể hiểu như một cảnh báo rằng không tìm thấy kết quả nào thôi.
binhvn viết 20:29 ngày 09/10/2018
Code:
$result = mysql_query("select * from news where tid=$id order by tid DESC");
while($row = mysql_fetch_array($result)){
       $text = $row[post];
       echo $text;
}
cài khi bạn không truyền biến id cho nó thì nó sẽ báo như trên. Cách truyền biến thì chỉ cần thêm trên url có &id= là ok
Bài liên quan
0