我的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()
返回的是布尔值而不是结果资源。发生这种情况有两个原因:
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`