问题是
mysql_query()返回的是布尔值而不是结果资源。发生这种情况有两个原因:
- 您执行了返回成功/失败而不是结果集的查询(例如
UPDATe
) - 您的查询失败
您的情况查询失败。失败的原因是因为您逃脱了不需要的PHP字符串中的反勾号。
您的行如下所示:
$siteTitle = mysql_result(mysql_query("SELECT `siteTitle` FROM siteSettings"), 0);当他们应该只是这样时:
$siteTitle = mysql_result(mysql_query("SELECt `siteTitle` FROM siteSettings"), 0);现在,一些注意事项:
- 不要编写使用
mysql_*
函数的新代码。它们已被弃用,并将最终从PHP中删除。请改用MySQLi或PDO(我个人建议使用PDO,YMMV) - 以这种方式嵌套数据库功能并不是编写代码的特别好方法。最好在每个函数调用之后显式检查错误。
例如:
$result = mysql_query("SELECt somecol FROM sometable");if (!$result) { // Handle error here}// Now process the result- 您应该在查询中(最好是全部)引用所有标识符,也可以不引用。仅引用一些内容将使其更难阅读。
例如
SELECt `siteTitle` FROM `siteSettings`


![警告:mysql_result()期望参数1为资源,给定布尔值[重复] 警告:mysql_result()期望参数1为资源,给定布尔值[重复]](http://www.mshxw.com/aiimages/31/372987.png)
