1

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

id, custid, name, value 

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

现在我只想选择一个案例

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

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

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

4

4 回答 4

0

您的查询中有以下错误:

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

请尝试以下方法:

$sql = "cu_id FROM `table` WHERE name = 'enable' AND value = 'true'"; 
于 2013-08-20T07:44:37.237 回答
0

用双层大衣传递您的查询,这是最佳实践

$sql = "cu_id FROM table WHERE name = 'enable' AND value = 'true'" ; 
于 2013-08-20T07:34:06.323 回答
0

使用双引号,

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

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

于 2013-08-20T07:34:07.883 回答
0

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

$sql = "select cu_id FROM table WHERE name = 'enable' AND status = 0"; 
于 2013-08-20T08:04:49.097 回答