选择字段名称为启用且值为true的行

时间:2013-08-20 07:32:30

标签: php mysql sql sql-server

我是php的新手,在我的sql表中我有一行包含这些列:

id, custid, name, value 

id是自动递增,custid是唯一值,name是enable(状态参数),值设置为true或false。

现在我只想选择

的情况
 $sql = 'cu_id FROM table WHERE name = 'enable' AND value = 'true'' ; 

在PHP文件中,但是我的php文件说,行启用时出现语法错误。

任何人都可以看看它是什么:)

4 个答案:

答案 0 :(得分:0)

在双层涂层中传递您的查询,这是最佳做法

$sql = "cu_id FROM table WHERE name = 'enable' AND value = 'true'" ; 

答案 1 :(得分:0)

使用双引号,

$sql = "cu_id FROM table WHERE name = 'enable' AND value = 'true'"; 

但最好的方法是使用预准备语句来避免sql注入。

答案 2 :(得分:0)

您的查询中有以下错误:

  1. 您在单引号内使用单引号。您可以通过包装双引号查询字符串并保留列值的单引号来解决此问题。或者,您可以选择使用反斜杠转义值中使用的单引号,例如\'enable\'
  2. 您的表名是MySQL保留字之一,即table。当你使用MySQL reserved words之一时,你需要用反引号引用它们,例如`table`。
  3. 请尝试以下方法:

    $sql = "cu_id FROM `table` WHERE name = 'enable' AND value = 'true'"; 
    

答案 3 :(得分:0)

使用双引号而不是使用true和false,您可以使用1和0.根据需要使用默认值0或1,以便查询看起来像。您也可以将value替换为status

$sql = "select cu_id FROM table WHERE name = 'enable' AND status = 0";