我正在使用以下代碼段來分解字符串數組,然後將它們插入到數據庫中。對多個MySQL插入使用foreach循環
//split tags into individual words
$tag_array = explode(',', $tags);
foreach($tag_array as $tag){
addslashes($tag);
echo $tag." ";
$addTagsQuery = "INSERT INTO `my_blog`.`tags` (`id`, `name`) VALUES
('".$id."', '".$tag."');";
$tagsResult = $db->query($addTagsQuery);
if($tagsResult){
echo "tag added <br />";
}
else {
echo "tag was not added <br />";
}
}
我的問題在於提交多個標記(字符串)的情況。不幸的是,只有數組中的第一個字符串被插入。任何有關爲什麼只有數組中的第一個字符串插入到MySQL數據庫的深入瞭解。
那是哪裏'$ id'來自哪裏? – MvanGeest 2010-07-27 17:20:43
nope,但它的編碼方式,你可能會廣泛開放SQL注入攻擊 – DRapp 2010-07-27 17:21:32
你需要在你的代碼中添加一些調試。回聲儘可能多的信息 - 每個變量,查詢結果等。我敢打賭,你甚至沒有一個想法,什麼是$標籤變量內容是。 – 2010-07-27 17:22:50