0

我主要在 Stackoverflow 上到处查看以添加多个 WHERE 实例,但它们似乎都不起作用。

我的选择查询:

$result = mysql_query("SELECT * FROM $tableName WHERE user = $user AND column = 1");          //query

我尝试了 IN 和其他一些方法,但我不知道为什么它不会得到该列。如果我取出用户列它可以工作,但我希望它也限制在该列中。

任何帮助将不胜感激!

4

4 回答 4

2

column是中的保留字mysql。您必须使用`这种 column_name 并'在字符串数据周围使用单引号'$user'

SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1
于 2013-06-19T09:55:26.497 回答
0

重写您的查询。使用以下代码:

$result = mysql_query("SELECT * FROM `".$tableName."` WHERE user = '".$user."' AND `column` = 1");

在这里我错过了查询中的列是列名吗?并且您需要在`直到标记中给出单个配额和表名中的值。

于 2013-06-19T09:57:22.807 回答
0

您需要将用户名用单引号括起来,正如 Yogesh 列中提到的那样,它是 MySQL 中的保留关键字。尝试这个:

user = '$user' AND `column` = 1

所以整个语句变成:

$result = mysql_query("SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1");

此外,您应该使用带有准备好的语句的 mysqli 或 PDO。

于 2013-06-19T09:54:28.737 回答
0

试试这个:

$sql = 'SELECT * FROM $tableName WHERE user = "'.$user.'" AND `column` = 1';
于 2013-06-19T09:58:08.717 回答