php - 用 explode 和 foreach 分解字符串

标签 php mysql many-to-many

我试图让一个 php 字符串分解成单个单词,在数据库中搜索它们,然后将结果添加到另一个数据库中。

我目前有这样的字符串

“SDGCC、ARISE、SDGFS”

我想在登录标签表中搜索像我正在使用的这些词这样的标签

SELECT * FROM logintags WHERE tag LIKE '%string%'

这样每个标签都取 self 尝试使用 explode 和 foreach 的字符串,但它似乎没有达到预期的效果。

$string = $_POST['tags'];

$tags = explode(',' $string);

foreach($tags as $key) {

$query = mysql_query("SELECT * FROM dept_logintags WHERE tag LIKE '%".$key."%'"); $r = mysql _fetch _object($query);

$insert = mysql_query("INSERT INTO briefings_logintags (id, briefing_id, logintag_id) VALUES (NULL, '$id', '".$r->id."')");

我试图创建的效果是为每个标签在标签 ID 和简报 ID 之间创建一个引用...

然而,它似乎只是将一个正确的条目放入数据库中。

最佳答案

尝试

$tags = explode(',',$string);

foreach($tags as $key) {    
    echo '"'.$key.'"<br/>';    
}

我的猜测是您在 ARISE 和 SDGFS 之前获得了空间。

此外,请确保您始终 escape strings在将它们放入 MySQL 查询之前正确!否则有人可以将受污染的输入发送到您的服务器并对您的数据库造成严重破坏。 (这称为 SQL injection 。)

关于php - 用 explode 和 foreach 分解字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1459428/

相关文章:

mysql - 在 SELECT 中重命名列多个 id

mysql - 在 1 个查询中更新多行及其所有父项的多对多计数器缓存

MYSQL - 查询多个结果的多对多关系

mysql - 运行我的 Gradle Liquibase 插件时,我应该将 MySql JAR 依赖项放在哪里?

mysql - 如何找到其他字段中数据独有的字段?

php - .html 与 .php |区别,当我在两种扩展类型中编写 php 时

php - 在 url 中添加/更新参数

many-to-many - 非 ID 属性的 Sequelize 多对多

php - 在jquery函数中使用php的正确方法

PHP SESSIONS 检查用户是否仍在数据库中,同时登录