我对此很困惑(返回 false):
$sql = "SELECT * from tbl_user WHERE group = 'abc'";
$res = mysql_query($sql);
if(mysql_num_rows($res) > 0) {
$response = array('status' => '1');
} else {
$response = array('status' => '0'); // ---> what I get back
die("Query failed");
}
...尽管字段 group 存在于 mySQL 数据库中。更奇怪的是,以下返回group的值:
$SQL = "SELECT * FROM tbl_user";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
print $db_field['group']; // ---> returns 'abc'
当我对表中除组之外的所有其他字段执行 WHERE 子句时(例如 WHERE name = 'ex1' AND ID=1 AND isAllowed=0 (等等...),一切都很好。一旦当我插入 group = 'abc' 时,我什么也没得到......
这让我很生气。如果有人可以提供帮助...(我正在使用 MAMP 运行本地服务器)。
非常感谢!
最佳答案
问题是 group
是 SQL 中的保留字。
对于MySql,你需要用反引号转义
`group`
所以你的查询是
$sql = "SELECT * from tbl_user WHERE `group` = 'abc'";
关于mysql - SQL - SELECT with WHERE 语句返回 false,尽管表中存在字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28708493/