我试图让一个 php 字符串分解成单个单词,在数据库中搜索它们,然后将结果添加到另一个数据库中。
我目前有这样的字符串
“SDGCC、ARISE、SDGFS”
我想在登录标签表中搜索像我正在使用的这些词这样的标签
SELECT * FROM
logintags
WHEREtag
LIKE '%string%'
这样每个标签都取 self 尝试使用 explode 和 foreach 的字符串,但它似乎没有达到预期的效果。
$string = $_POST['tags'];
$tags = explode(',' $string);
foreach($tags as $key) {
$query = mysql_query("SELECT * FROM
dept_logintags
WHEREtag
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/