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 - 搜索字符串中的关键字(从矩阵中)(大约500个字符)

php - 等于post_title的Wordpress WP_Query/get_posts返回所有结果

mysql - 检查是否更新了多个表

python - Python/MySQL编程错误:1054(42S22):“字段列表”中的未知列“d”

c# - 在选择查询中使用参数

c - 使用strcpy交换字符串

php - 如何上传图片到ftp服务器?

php - 在XAMPP中设置由管理员管理的MySQL

c# - 如何从字符串中删除字符组合?

c++ - 选择排序循环中的错误