php - 小Php和MySql问题

标签 php sql mysql html database

我有一个 ID:s 数组,ID:s 的格式如下:

  Bmw_330ci_89492822

所以这是一个字符串!

现在,我有这段代码可以在 MySQL 中查找该数组中的任何内容: ($solr_id_arr就是我上面提到的数组,它包含字符串ID:s) 例如:$solr_id_arr[0] 输出 Bmw_330ci_89492822

$solr_id_arr_imploded = implode(", ", $solr_id_arr);
$query = "SELECT * FROM my_table WHERE ad_id IN ('$solr_id_arr_imploded')";
$qry_result = mysql_query($query) or die(mysql_error());

问题是这行不通,因为(我认为)每个内爆元素都应该有引号,以便 MySQL 找到匹配项。我匹配的MySQL中的字段是Varchar类型。

这是回显的$query:

 SELECT * FROM my_table WHERE ad_id IN ('Bmw_m3_cool_565440282, Bmw_m5_839493889')

你有任何其他解决方案吗,我只需要在 MySQL 中找到这个数组内的匹配项!

谢谢

最佳答案

不要用引号将整个内容括起来。它正在寻找 ad_id 在哪里 'Bmw_m3_cool_565440282, test'

使用

SELECT * FROM my_table WHERE ad_id IN ('Bmw_m3_cool_565440282', 'test')

一个快速的解决办法是改变:

//this
$solr_id_arr_imploded = implode(", ", $solr_id_arr);

//to this
$solr_id_arr_imploded = implode("', '", $solr_id_arr);

关于php - 小Php和MySql问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2184235/

相关文章:

PHP:在查询字符串中查找 3 个字符的单词以增强 MySQL 全文搜索

php - jQuery 显示/隐藏字段未通过 php 验证

php - 如何在 php 中动态地将图像从 mysql 数据库插入到 jquery slider 中

sql - 匹配多个字段组合的记录

SQL Server 对象资源管理器不显示当前数据库

sql - 找到一个字段的值与另一字段中数据的最大值匹配

php - 多个匹配条件

php - MySQL 合并多个表的查询结果

php - 从 While 循环填充 PHP 数组

php - 使用PHP上传gif图片到服务器不丢失动画