【发布时间】:2012-04-10 21:51:07
【问题描述】:
<?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);
}
}
}
?>
我有这个错误:
警告:mysql_num_rows() 期望参数 1 是资源,布尔值 在第 6 行的 C:\xampp\htdocs\rs-planet\classes\page.php 中给出
警告:mysql_fetch_array() 期望参数 1 是资源, 第 11 行 C:\xampp\htdocs\rs-planet\classes\page.php 中给出的布尔值 而且我没有看到问题...
如果我做 var_dump @ $result 我得到一个布尔值。 (如果它是在 @ db 成立的,它给我真,如果不是,它给我假。)
PS。抱歉我的英语不好,我的主要语言是荷兰语。
编辑: var_dump(mysql_error) =
string(152) "您的 SQL 语法有错误;请查看手册 对应于您的 MySQL 服务器版本以获得正确的语法 在第 1 行的“索引”附近使用
【问题讨论】:
-
SQL 查询中的 url 字符串值没有右引号......人们什么时候才能学会调试他们的 sql 查询,即使他们不能被说服进入 21 世纪并使用准备好的语句
-
是的。准备好的语句是来自 SQL 之神的礼物 - 使用它们。 :)
-
使用鼓励占位符的PDO 是一个非常好的主意。