Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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 Mysql和WHERE选择_Php_Mysql - Fatal编程技术网

Php Mysql和WHERE选择

Php Mysql和WHERE选择,php,mysql,Php,Mysql,我已经做了一个选择,但不能让它和WHERE-LIKE函数一起工作。下面这行有什么问题 $result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' AND ORDER BY id DESC"); 直到我加上 AND platform LIKE '%wiiu%' “平台”列包含具有来自选择框表单的多个值的单元格。所以它写道,w

我已经做了一个选择,但不能让它和WHERE-LIKE函数一起工作。下面这行有什么问题

$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' AND ORDER BY id DESC");
直到我加上

AND platform LIKE '%wiiu%'

“平台”列包含具有来自选择框表单的多个值的单元格。所以它写道,wiiu、ps4、xbox360、pc等等……一定很简单,但我尝试了一百万次……

删除
之前的
按顺序

$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' AND ORDER BY id DESC");
应该是

$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' ORDER BY id DESC");
$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' ORDER BY id DESC");
在结尾处有额外的“和”

应该是这样的:

$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' ORDER BY id DESC");

有一个额外的
,它应该是:

ORDER BY
语句之前不应该有


同样,我感到有必要要求您考虑使用
mysqli
PDO
而不是
mysql
函数,因为
mysql
已被弃用。

您确实不应该在字段中使用逗号分隔的值。实际上,您提供了一个很好的示例,说明了为什么不在其中添加控制台名称。如果你在寻找与原始Wii相关的东西呢?你会有类似于
的东西,比如“%wii%”
,对吗?这也会返回所有与WiiU相关的项目,因为“WiiU”也类似于“%wii%”


正确的方法是创建并加入一个链接表。

请不要使用mysql,因为它已被弃用,请改用mysqli或PDO
参考

并将查询更改为

SELECT * FROM games 
WHERE soort='nieuws' 
AND gamenaam='$spelnaam' 
AND platform LIKE '%wiiu%' 
ORDER BY id DESC"

这些单元格是否与
where
子句中的其余条件匹配?不返回任何内容的最可能原因是数据中没有匹配项。按顺序删除和之前
SELECT * FROM games
WHERE soort = 'nieuws'
AND gamenaam = '$spelnaam'
AND platform LIKE '%wiiu%'
ORDER BY id DESC
SELECT * FROM games 
WHERE soort='nieuws' 
AND gamenaam='$spelnaam' 
AND platform LIKE '%wiiu%' 
ORDER BY id DESC"