我试图进行 mysql 查询,但由于某种原因,这是我得到的错误:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home1/server/public/chat/includes/functions/chat.func.php on line 9
第9行如下:
l6 $query = "SELECT `Sender`, `Message` FROM `database_chat`.`chat` ORDER BY `Msg_ID` DESC";
l7 $run = mysql_query($query);
l8 $messages = array();
l9 while($message = mysql_fetch_assoc($run)) {...
数据库的名称是"database_chat",而"聊天"是表...
由于某种原因它没有连接,我错过了什么?
我已经仔细检查了表元素是否正确编写....
尝试在代码中使用错误检查:
$con = mysql_connect(...);
if (!$con){
// Error handling here
print_r("SQL Error:". mysql_error());
exit;
}
$run = mysql_query($query);
if (!$run){
// Error handling here
print_r("SQL Error:". mysql_error());
exit;
}
这只会帮助您找到您遇到的真正问题,我假设这是您查询中的错误。
重要说明:mysql_* 函数已弃用,请使用 mysqli_* 或 PDO
尝试此操作以查看查询本身是否存在问题:
$run = mysql_query($query) or die(mysql_error());
请注意,应仅将or die(mysql_error());
用于调试 - 将其删除以供生产使用。
此外,假设您已连接到数据库,是否在运行查询之前选择了数据库?
mysql_select_db('database_chat');
mysql_query($query) 需要资源。下面列出了一个使用 $link 作为资源的示例。
$link = mysql_connect($host, $user, $pass);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db($db, $link);
if (!$db_selected) {
die('Can''t use database : ' . mysql_error());
}
$results = mysql_query($query, $link);
在第
17 行查询中需要数据库连接.. 按照此示例进行操作。
$con=mysqli_connect("localhost","usernamename","password","db_name");
$sql="SELECT * from db_table'";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
<---- your code here ----->
}