将PHP数组中的值插入到mySQL行中

时间:2014-05-03 05:00:14

标签: php mysql arrays

我正在将逗号分隔列表扩展为名为$tagArray的变量,并尝试将这些值写入递增的表行。

下面的代码可以在我的表中创建适当数量的行,但它只会写入逗号分隔字符串的第一个字母(即,如果字符串显示为“一,二,三”,“ o“写在第一行,其余两行的列为”blog_tag“的空白值:

$tagInput = $_POST["blog_tags"];
$tagArray = explode(",",$tagInput);

$sql_2 = "INSERT INTO blog_tags (blog_tag, blog_id)
VALUES ";

$valuesArray = array();
foreach($tagArray as $row){
$tag = mysqli_real_escape_string($conxn, $row['blog_tag']);
$valuesArray[] = "('$tag','$lastID')";
}

$sql_2 .= implode(',', $valuesArray);

if (!mysqli_query($conxn,$sql_2)) {
die('Error: ' . mysqli_error($conxn));
}

这是意大利面拼凑在一起的各种各样的搜索,它已经接近但我无法弄清楚它在哪里抓住字符串的第一个字母。

2 个答案:

答案 0 :(得分:0)

只需用你的foreach替换插入数组的值

foreach($tagArray as $row){
  $a=mysqli_real_escape_string($row)
$sql_2 = "INSERT INTO blog_tags (blog_tag, blog_id) VALUES 
  ('$a','$lastID') ";
}

答案 1 :(得分:0)

爆炸不会创建关联数组

$tag = mysqli_real_escape_string($conxn, $row); //instead of $row['blog_tag']