gpt4 book ai didi

php - 值在数组中的 MySQL SELECT 语句

转载 作者:行者123 更新时间:2023-11-29 03:56:12 25 4
gpt4 key购买 nike

我需要一些关于 MySQL 语句的帮助,但我无法真正让它工作。

我有一个这样的表:

+---+-------------------------------+
|id | fruit |
+---+-------------------------------+
| 1 | apple,orange,pear,grape,lemon |
| 2 | pear,melon,apple,kiwi,lemon |
| 3 | orange,kiwi,pear,apple,cherry |
| 4 | grape,lemon,cherry,apple,melon|
+---+-------------------------------+

我需要做的是选择 fruit 列包含单词 melon 的所有行。有问题的单词可能位于数组中的任何位置。

我厌倦了下面的查询,但出于某种原因我只得到 3-4 行,绝对不是全部:

$fruit = $_GET['fruit'];
$query1= "SELECT * FROM tbl_fruits WHERE ".$fruit." IN (fruit)";

如有任何意见,我们将不胜感激。

最佳答案

您可以使用FIND_IN_SET

SELECT * FROM tbl_fruits 
WHERE find_in_set('$fruit', fruit)

但实际上您应该更改表格设计。

永远不要在一个列中存储多个值!

更好的表格设计应该是

fruits table
------------
id name
1 melon
2 orange
3 apple
...


products table
-------------------
id name price
1 P1 1.50
2 P2 2.99
3 P3 0.99


product_fruits table
--------------------
product_id fruit_id
1 1
1 2
2 2
3 1

这是一个经典的多对多关系(m 到 n)。

关于php - 值在数组中的 MySQL SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28319614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com