if语句的PHP错误

时间:2012-09-11 16:49:05

标签: php

  

可能重复:
  Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

错误 - >警告:mysql_fetch_array()期望参数1是资源,在

中给出布尔值
    $sql = "SELECT * FROM pictures WHERE filename=$filename";
//makes a query to the database using the question in variable sql.
$result = mysql_query($sql);

ERROR ->if(!($row = mysql_fetch_array($result)))
    {
     //code.......

我不明白,我做错了什么,参数没有错...

2 个答案:

答案 0 :(得分:3)

这意味着您的查询有问题。猜测一下,我建议你引用你的变量:

$sql = "SELECT * FROM pictures WHERE filename='$filename'";

<强>无论其

您还应该考虑不使用mysql_*函数 - 它们已被弃用。如果切换到PDO或mysqli_,它们不仅可以帮助您生成更安全的代码,还可以为您排序值。

答案 1 :(得分:2)

错误信息非常清楚,mysql_query返回的值是布尔值(FALSE)而不是资源,这意味着您的查询失败。

您可能需要以下内容:

$sql = "SELECT * FROM pictures WHERE filename='$filename'";
$result = mysql_query($sql);
if($result && $row = mysql_fetch_array($result)) { ... }