php - 如何使用php将字符串转换成数组

标签 php mysql string random

我有一个像这样回显的存储字符串

$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/

相关文章:

php - 在 PHP 中使用 preg_match 时出现 "Unknown modifier ' g ' in..."?

mysql - 多次更新同一行

c++ - 打印 float ,保持精度

java - 使用多个正则表达式解析字符串

php - Utf-8 不工作,从数据库查询

php - Symfony 5 - 基于浏览器语言的网站翻译后重定向

mysql - 与聚合数据的 SQL 连接

mysql - 分片Mysql数据库的最佳方法

php - str_replace 从字符串中的特定位置开始

php - 基于 URL 参数选择的下拉列表 - PHP 或 jQuery?