我主要在 Stackoverflow 上到处查看以添加多个 WHERE 实例,但它们似乎都不起作用。
我的选择查询:
$result = mysql_query("SELECT * FROM $tableName WHERE user = $user AND column = 1"); //query
我尝试了 IN 和其他一些方法,但我不知道为什么它不会得到该列。如果我取出用户列它可以工作,但我希望它也限制在该列中。
任何帮助将不胜感激!
column
是中的保留字mysql
。您必须使用`
这种 column_name 并'
在字符串数据周围使用单引号'$user'
SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1
重写您的查询。使用以下代码:
$result = mysql_query("SELECT * FROM `".$tableName."` WHERE user = '".$user."' AND `column` = 1");
在这里我错过了查询中的列是列名吗?并且您需要在`直到标记中给出单个配额和表名中的值。
您需要将用户名用单引号括起来,正如 Yogesh 列中提到的那样,它是 MySQL 中的保留关键字。尝试这个:
user = '$user' AND `column` = 1
所以整个语句变成:
$result = mysql_query("SELECT * FROM $tableName WHERE user = '$user' AND `column` = 1");
此外,您应该使用带有准备好的语句的 mysqli 或 PDO。
试试这个:
$sql = 'SELECT * FROM $tableName WHERE user = "'.$user.'" AND `column` = 1';