PHP期望参数是一个资源

时间:2012-12-25 00:35:22

标签: php mysql

只是想知道为什么我收到这个错误。

  

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\Active\Formula One\script\blog.php on line 37

使用一些调试来获得更多错误

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 ''categories' WHERE 'name' = 'nocat'' at line 1

blog.php - 只需一段代码即可填写页面

function category_exists($name) {
    $name = mysql_real_escape_string($name);

    $query = mysql_query("SELECT COUNT(1) FROM 'categories' WHERE 'name' = '{$name}'");

    echo mysql_error();

    return ( mysql_result($query, 0) == '0' ) ? false : true; 
}

function add_category($name) {
    $name = mysql_real_escape_string($name);

    mysql_query("INSERT INTO 'blog_categories' SET 'name' = '{$name}'");

}

任何帮助将不胜感激。祝圣诞快乐。

1 个答案:

答案 0 :(得分:3)

对列名和表名使用反引号而不是引号

mysql_query("SELECT COUNT(1) FROM `categories` WHERE `name` = '{$name}'");

如果您使用引号,它将被解释为字符串而不是名称。

您混合了insertupdate语法。使用

mysql_query("INSERT INTO `blog_categories` (`name`) values ('{$name}'");