gpt4 book ai didi

PHP:mysql查询给出一个 bool 值

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:37 26 4
gpt4 key购买 nike

<?php
class Page {
function getPage($urlOfPage){
$result = mysql_query('SELECT category, title FROM rs-planet WHERE url = "'. mysql_real_escape_string($urlOfPage));
if(mysql_num_rows($result) === 0){
header('HTTP/1.0 404 Not Found');
exit;
}
else{
return $page[] = mysql_fetch_array($result);
}
}
}

?>

我有这个错误:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\rs-planet\classes\page.php on line 6

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\rs-planet\classes\page.php on line 11 And I don't see the problem...

如果我做 var_dump @ $result 我得到一个 bool 值。 (如果它是在数据库中建立的,它会给出 true,如果不是,它会给出 false。)

附言。抱歉我的英语不好,我的主要语言是荷兰语。

编辑:var_dump(mysql_error) =

string(152) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"index' at line 1"

最佳答案

mysql_query 如果无法执行查询(即语法错误),则返回 false。尝试用反引号包围 rs-planet:

$result = mysql_query('SELECT category, title FROM `rs-planet` WHERE url = "'.  mysql_real_escape_string($urlOfPage) . '"');

我认为表名中的 - 搞砸了语法。

编辑:此外,PDO 使调试这些问题变得更加容易,因为您不需要使用 mysql_error() 来获取错误消息 - 它包含在 PDO 抛出的异常中。 http://php.net/manual/en/book.pdo.php

第二次编辑:实际上问题可能是缺少引号。修复了我的代码,但请参阅其他答案...

关于PHP:mysql查询给出一个 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10096976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com