我的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;
}
?>
Run Code Online (Sandbox Code Playgroud)
Dav*_*dom 12
问题是mysql_query()返回一个布尔值而不是结果资源.这可能有两个原因:
UPDATE)在您的情况下,查询失败.它失败的原因是因为你已经逃脱了你不需要的PHP字符串中的后退标记.
你的行看起来像这样:
$siteTitle = mysql_result(mysql_query("SELECT \`siteTitle\` FROM siteSettings"), 0);
Run Code Online (Sandbox Code Playgroud)
当它们应该只是这样:
$siteTitle = mysql_result(mysql_query("SELECT `siteTitle` FROM siteSettings"), 0);
Run Code Online (Sandbox Code Playgroud)
现在,一些附注:
mysql_*函数的新代码.它们已被弃用,最终将从PHP中删除.使用MySQLi或PDO(我个人推荐PDO,YMMV)例如:
$result = mysql_query("SELECT somecol FROM sometable");
if (!$result) {
// Handle error here
}
// Now process the result
Run Code Online (Sandbox Code Playgroud)
例如
SELECT `siteTitle` FROM `siteSettings`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31910 次 |
| 最近记录: |