Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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,我在“配方”表中有一列叫做“产品”。这是这样填写的: 460,450|50,100|243,500|141,5|457,100|383,211| ProductID,ProductGrams |是格式 现在,我想在上面的示例中搜索id为243的产品。我该怎么做 SELECT * FROM recipes WHERE Products LIKE '%243%' 如果有243的产品图,我也会给出结果 我该怎么做?我迷路了 如果还有php可以解决这个问题。只需将分隔符包含在您喜欢的内容中 SEL

我在“配方”表中有一列叫做“产品”。这是这样填写的:

460,450|50,100|243,500|141,5|457,100|383,211|
ProductID,ProductGrams |是格式

现在,我想在上面的示例中搜索id为243的产品。我该怎么做

SELECT * FROM recipes WHERE Products LIKE '%243%' 
如果有243的产品图,我也会给出结果

我该怎么做?我迷路了


如果还有php可以解决这个问题。

只需将分隔符包含在您喜欢的内容中

SELECT * FROM recipes WHERE Products LIKE '%|243,%' 
你可以

SELECT * FROM recipes WHERE Products LIKE '243,%' OR Products LIKE '%|243,%
但更重要的是,在查询这些数据之前,应该在数据库中对其进行规范化。

也许这会起作用

从配方中选择*产品,如“%243,%”


请注意逗号。

如果它在第一个位置,则不会。请删除
|
并保留
是的,它不会匹配第一个位置的项目,但您不能只删除管道并执行%243,请参阅我对已接受答案的注释。为什么在同一列中存储两个不同的内容?此查询很困难,因为数据未规范化。请丢弃该表并以正确的方式执行。希望我可以。。如果你这么说的话,你应该看到剩下的..把整个东西都烧成灰烬。我认为如果搜索的项目在行的开头,“%| 243%”格式将不起作用。如所提供的示例所示,在开始时没有|更新。我真不敢相信人们会把数据存储在这样的数据库里,这简直是疯了。我知道@ErikPhilips。我只是接管了一些被解雇的家伙的工作…--@Karem我能理解他被解雇了。%243%将匹配以243结尾的更大数字,比如1243。您需要匹配“243,%”或“%”243,%”。