gpt4 book ai didi

php - 在 mysqlquery 和 php 方面需要帮助

转载 作者:行者123 更新时间:2023-11-30 23:13:24 25 4
gpt4 key购买 nike

我正在做这样的查询:

$c = filterfunction($_POST['data']);

$sql="(descripcion LIKE '%".$c."%' or marca_repuesto LIKE '%".$c."%' or mod_nombre LIKE '%".$c."%' or anio LIKE '%".$c."%' or codigo LIKE '%".$c."%' )";

$query = mysql_query("
SELECT id,user,modelo,marca,marca_repuesto,descripcion,tipo,anio,cantidad,precio_costo,precio_lista,chasis,motor,codigo
FROM (repuestos left join marcas ON marca = m_id
left join modelos ON modelo = mod_id)
$sql

");

一切正常,但如果我在 repuestos.modelo 行中添加两个用“,”分隔的 id,则不起作用,而且我不知道如何在这一行中使用多个 id,谢谢大家.

最佳答案

您的问题并不完全清楚您的问题。

如果要搜索单个匹配的id,需要

 WHERE id = ?   

如果要搜索多个匹配的id,需要

WHERE id IN (?,?,?,?)

另请注意,您的OR LIKE 级联

    descripcion LIKE '%".$c."%' 
or marca_repuesto LIKE '%".$c."%'
or mod_nombre LIKE '%".$c."%'
or anio LIKE '%".$c."%'
or codigo LIKE '%".$c."%'

是灾难性糟糕表现的公式。 MySQL(和任何 RDBMS)不能为

使用索引
 column LIKE '%value%'

所以它必须扫描整个表。当 MySQL 遇到 OR 时,它会再次扫描表。

您可能希望调查此应用程序的全文搜索。

关于php - 在 mysqlquery 和 php 方面需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938374/

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