可能重复:
PHP: Warning: sort() expects parameter 1 to be array, resource given
我的PHP函数脚本昨晚工作正常,现在当我今天登录工作时,我正在使用
“警告:mysql_result()期望参数1为资源,布尔值为”。
我 - 不知道为什么这不起作用。我已经在线阅读了PHP手册,我甚至看到过我所做的工作和使用的例子。有人可以帮我解决这个问题吗?我一直在修复bug之后的错误(当我今天登录时很多东西都停止了工作)并且我在这里结束了我的智慧。如果有帮助,我在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;
}
?>
答案 0 :(得分:12)
问题是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
E.g。
SELECT `siteTitle` FROM `siteSettings`