我是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文件说,行有语法错误,在enable。
有人能看看它是什么吗:)
使用双引号,
$sql = "cu_id FROM table WHERE name = 'enable' AND value = 'true'";
但最好的方法是使用prepared语句来避免sql注入。
您的查询中有以下错误:
- 您使用的是单引号中的单引号。您可以通过对查询字符串进行双引号包装并保留列值的单引号来解决此问题。或者,您可以选择用反斜杠转义值中使用的单引号,例如
'enable'
- 您的表名是MySQL的一个保留字,即
table
。当你使用MySQL的一个保留字时,你需要用引号引用它们,例如`table
`
请尝试以下操作:
$sql = "cu_id FROM `table` WHERE name = 'enable' AND value = 'true'";
使用双引号,可以使用1和0,而不是使用true和false。默认值为0或1,以便查询看起来像这样。您也可以将value
替换为status
$sql = "select cu_id FROM table WHERE name = 'enable' AND status = 0";
通过双涂层的查询,这是的最佳实践
$sql = "cu_id FROM table WHERE name = 'enable' AND value = 'true'" ;