Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL/PHP连接条件运算符(=)和WHERE子句中的字符串_Php_Mysql_Operators_Concatenation_Where - Fatal编程技术网

MySQL/PHP连接条件运算符(=)和WHERE子句中的字符串

MySQL/PHP连接条件运算符(=)和WHERE子句中的字符串,php,mysql,operators,concatenation,where,Php,Mysql,Operators,Concatenation,Where,这是我的第一篇文章,所以我会尽我所能澄清。 我的问题是: 假设您有一个包含运算符的变量: 例如,$var=如果在WHERE和$attr之间没有任何空格,您可能会通过以下操作获得想要的效果: $query = "SELECT * FROM table WHERE ".$attr." ".$var." ".$value; 或者只是 $query = "SELECT * FROM table WHERE $attr $var $value"; 尝试将$query回显到浏览器,并将其复制并粘贴到p

这是我的第一篇文章,所以我会尽我所能澄清。 我的问题是:

假设您有一个包含运算符的变量:
例如,$var=如果在WHERE和$attr之间没有任何空格,您可能会通过以下操作获得想要的效果:

$query = "SELECT * FROM table WHERE ".$attr." ".$var." ".$value;
或者只是

$query = "SELECT * FROM table WHERE $attr  $var $value";

尝试将$query回显到浏览器,并将其复制并粘贴到phpmyadmin中

我想你做不到。但即使您可以,我也怀疑这是否是最佳做法,因为该值未经类型检查,可能会导致问题。感谢您的快速回答!你能给出其他选择吗?使用switch语句来执行适当的查询。啊,好的,谢谢你!我真是个白痴
$query = "SELECT * FROM table WHERE $attr  $var $value";