我有一个像这样回显的存储字符串
$string = 24,56,43,23,45;
我想从mysql中获取数据,所以我这样做了;
$getcompany = mysql_query("SELECT * FROM pages WHERE id = $string");
如果 id 匹配任何字符串,它应该显示该信息,但没有任何反应。我尝试使用 explode 分解字符串,但我不知道如何使查询循环遍历字符串以显示与字符串匹配的信息。
我希望对某人有意义 :( 请帮忙。
最佳答案
使用 IN
:
$string = "24,56,43,23,45";
$getcompany = mysql_query("SELECT * FROM pages WHERE id IN (" . $string . ")");
这将转化为查询:
SELECT *
FROM pages
WHERE id IN (24,56,43,23,45);
只要 id
是一个数字字段就可以了。如果 id
是一个字符串,你可以稍微修改一下:
$string = "24,56,43,23,45";
$args = "'" . implode("','", explode(",", $string)) . "'";
$getcompany = mysql_query("SELECT * FROM pages WHERE id IN (" . $args . ")");
这将转化为:
SELECT *
FROM pages
WHERE id IN ('24','56','43','23','45');
关于php - 如何使用php将字符串转换成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222088/