我做了选择但是无法使用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,电脑等....一定很简单,但我尝试了一百万次......
答案 0 :(得分:11)
删除AND
ORDER BY
$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");
答案 1 :(得分:2)
还有一个额外的AND
,应该是:
$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' ORDER BY id DESC");
答案 2 :(得分:2)
请不要使用mysql_ *,因为它已被弃用,请改用mysqli_或PDO。
参考http://php.net/manual/en/book.mysqli.php
并将您的查询更改为
SELECT * FROM games
WHERE soort='nieuws'
AND gamenaam='$spelnaam'
AND platform LIKE '%wiiu%'
ORDER BY id DESC"
答案 3 :(得分:1)
$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' ORDER BY id DESC");
你有额外的' AND#39;最后
答案 4 :(得分:1)
SELECT * FROM games
WHERE soort = 'nieuws'
AND gamenaam = '$spelnaam'
AND platform LIKE '%wiiu%'
ORDER BY id DESC
在AND
声明之前不应该有ORDER BY
。
,我觉得强烈要求您考虑使用mysqli
或PDO
代替mysql
函数,mysql
已被弃用。
答案 5 :(得分:0)
应该是这样的:
$result = mysql_query("SELECT * FROM games WHERE soort='nieuws' AND gamenaam='$spelnaam' AND platform LIKE '%wiiu%' ORDER BY id DESC");
答案 6 :(得分:0)
你真的不应该在字段中放入逗号分隔值。你实际上提供了一个很好的例子,为什么不说你有控制台名称。如果您正在寻找与原始Wii相关的内容,该怎么办?你有WHERE soort LIKE "%wii%"
之类的东西,对吗?好吧,这也将返回所有WiiU相关项目,因为“WiiU”也像“%wii%”。
执行此操作的正确方法包括制作和加入链接表。