Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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
Php 许多介于和之间的答案是错误的_Php_Mysql - Fatal编程技术网

Php 许多介于和之间的答案是错误的

Php 许多介于和之间的答案是错误的,php,mysql,Php,Mysql,我使用的查询有点复杂。在和之间有。我选择的是包含数据库所有值的查询。字段classe=‘Vehicleue’不再重新确认,并选择孔表元素 下面是简单的代码 $query = "SELECT publier.classe AS 'classe', publier.sclasse AS 'sclasse', publier.region AS 'region', publier.sujet AS 'sujet', publier.prix AS 'prix', publier.details AS

我使用的查询有点复杂。在和之间有。我选择的是包含数据库所有值的查询。字段classe=‘Vehicleue’不再重新确认,并选择孔表元素 下面是简单的代码

$query = "SELECT
publier.classe AS 'classe',
publier.sclasse AS 'sclasse',
publier.region AS 'region',
publier.sujet AS 'sujet',
publier.prix AS 'prix',
publier.details AS 'details',
publier.pdate AS 'pdate',
publier.ptime AS 'ptime',
publier.photo1 AS 'photo1',
publier.photo2 AS 'photo2',
publier.photo3 AS 'photo3',
publier.photo3 AS 'photo4',
publier.courriel AS 'courriel',
info.Ville AS 'Ville' ,
info.Nom AS 'Nom',
info.Prenom AS 'Prenom',
info.Telephone AS 'Telephone',
info.Courriel AS 'Courriel'
FROM 
publier LEFT JOIN info 
ON
publier.courriel = info.Courriel 
        WHERE classe = 'Vehicule' AND  
        (details LIKE \"%$trimmed%\") OR 
        (sujet  LIKE \"%$trimmed%\") AND 
        (pdate BETWEEN DATE_SUB(NOW(), INTERVAL 60 DAY) AND NOW()) AND 
        (prix BETWEEN '".$pmin."' AND '".$pmax."') 
ORDER BY prix ASC";

注意WHERE中的条件如何分组:

WHERE classe = 'Vehicule' AND  (details like \"%$trimmed%\")OR(sujet  like \"%$trimmed%\")  AND (pdate BETWEEN DATE_SUB(NOW(), INTERVAL 60 DAY) AND NOW()) AND (prix BETWEEN '".$pmin."' AND '".$pmax."')
这句话

WHERE A AND B OR C
不一样

WHERE A AND (B OR C)

等等。

注意WHERE中的条件如何分组:

WHERE classe = 'Vehicule' AND  (details like \"%$trimmed%\")OR(sujet  like \"%$trimmed%\")  AND (pdate BETWEEN DATE_SUB(NOW(), INTERVAL 60 DAY) AND NOW()) AND (prix BETWEEN '".$pmin."' AND '".$pmax."')
这句话

WHERE A AND B OR C
不一样

WHERE A AND (B OR C)
等等。

变化

 (details like \"%$trimmed%\")OR(sujet  like \"%$trimmed%\")

是这里的罪魁祸首,当括号外时,前面的所有条件都可能为假,结果仍将返回。

更改

 (details like \"%$trimmed%\")OR(sujet  like \"%$trimmed%\")


是这里的罪魁祸首,当括号外时,前面的所有条件都可能为假,结果仍将返回。

1。SQL注入,2。SQL注入和3。我提到SQL注入了吗。SQL注入,2。SQL注入和3。我提到SQL注入了吗?