mysql - SQL - SELECT with WHERE 语句返回 false,尽管表中存在字段

标签 mysql mamp where-clause

我对此很困惑(返回 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/

相关文章:

mysql 按类别查询销量最高的订单

php - 创建用户特定的日历

MYSQL将一个表中的数据插入到另一个表中

subquery - 在 Django 子查询中,我可以引用 "parent"查询吗?

php - Laravel 4 插入后一对多重复条目

mysql - 尝试在 MySQL 中划分 2 个单独的查询

php - 使用表单更新购物车中商品的数量

php - 如何在 Mac OS X 上安装 MySQL/Apache/PHP?

php - PDO fatal error : Call to a member function prepare() on a non-object (using classes)

mysql - 使用 Select Dateadd() sql server 减去年份