我的PHP函数脚本昨晚工作正常,现在当我今天登录进行更多工作时,
“警告:mysql_result()期望参数1为资源,给定布尔值”。
我不知道为什么这不起作用。我已经在线阅读了PHP手册,甚至还看到了使用和使用我所做的示例。谁能帮我这个忙吗?我一直在修正错误(一个错误,一个错误)(今天登录时,很多事情停止了工作),我的智慧到此为止。如果有帮助,我正在服务器上使用Windows 7上的XAMPP。
<?php function dbConnect() { $dbserver="127.0.0.1"; $dbuser="Mike"; $dbpassword="mike"; $dbname="devsite"; $con = mysql_connect($dbserver, $dbuser, $dbpassword); mysql_select_db($dbname, $con); } function getSiteTitle() { $siteTitle = mysql_result(mysql_query("SELECT \`siteTitle\` FROM siteSettings"), 0); return $siteTitle; } function getSiteHeader(){ $siteHeader = mysql_result(mysql_query("SELECT \`siteHeader\` FROM siteSettings"), 0); return $siteHeader; } function getBodyContent() { $bodyContent = mysql_result(mysql_query("SELECT \`bodyContent\` FROM siteSettings"), 0); return $bodyContent; } ?>
问题是mysql_query()返回的是布尔值而不是结果资源。发生这种情况有两个原因:
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_*
例如:
$result = mysql_query("SELECT somecol FROM sometable"); if (!$result) { // Handle error here } // Now process the result
例如
SELECT `siteTitle` FROM `siteSettings`