Mysql语法错误......还是PHP?

时间:2011-06-14 08:19:04

标签: php mysql syntax

有人能帮我弄清楚这个功能有什么问题吗? 我收到一个mysql语法错误...

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

    $query = mysql_query("SELECT COUNT(1) FROM 'categories' WHERE 'name' = '{$name}'"); 
    return (mysql_result($query, 0) == '0')? false : true;
}

4 个答案:

答案 0 :(得分:3)

您的表格和列名称(categoriesname)周围不应有引号。如果需要转义表名或列名,则应使用反引号(`)。 IE:

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

答案 1 :(得分:1)

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

  $query = mysql_query("SELECT COUNT(1) FROM `categories` WHERE `name` = '{$name}'"); 
  return (mysql_result($query, 0) == '0')? false : true;
}

您需要在表名和字段名称周围使用反引号(`)或NO引号。

答案 2 :(得分:0)

引用字符串。对象名称(表,列......)不是。

答案 3 :(得分:0)

尝试将查询更改为

"SELECT COUNT(*) FROM 'categories' WHERE name = '$name'"