警告:mysql_fetch_assoc():提供的参数不是第5行/home/a8107556/public_html/index.php中的有效MySQL结果资源

时间:2012-09-25 03:32:42

标签: mysql database error-code

我遇到了一个我一直在努力的页面的问题,我得到了这个错误。有人可以帮忙吗?

由于

<?php
include 'connect.php';
$desc1 = mysql_query("SELECT * FROM desc WHERE descnum='1'");
$desc2 = mysql_fetch_assoc($desc1);
?>
<link rel="stylesheet" type="text/css" href="style.css" />
<div id="bar" align="center">
<h3><a href="index.php"/>Home</a></h3>
</div>
<div id="desc">
<?php echo $desc2['description']; ?>
</div>

2 个答案:

答案 0 :(得分:1)

由于表名desc,您可能遇到问题,在sql / mysql中,desc是一个排序运算符,意思是降序。它是一个保留关键字,因此您的sql语句可能无效,因此不会返回有效结果。

答案 1 :(得分:1)

汤姆击中了头部的钉子。 “desc”不是一个理想的表名。这可以通过使用反引号“`”来包含所有表名和列名来简单地克服:

$desc1 = mysql_query("SELECT * FROM `desc` WHERE `descnum`='1'");

此外,您可能希望编辑查询执行以包含mysql_error函数以返回sql错误:

$desc1 = mysql_query("SELECT * FROM `desc` WHERE `descnum`='1'") or die(mysql_error());

最后要注意的是,PHP不鼓励mysql扩展......而是使用MySQLi扩展或预备语句(http://php.net/manual/en/function.mysql-query.php