在mysql中插入多行

时间:2018-03-29 07:11:26

标签: php mysql arrays

我有这样的价值

$id='11';   
$value1= 'tb1,tb2,tb3,tb4';    
$value2= 'th1,th2,th3,th4';

我要做的就是将它插入MySql(通过PHP),如下所示:

+---------+-------------+-------------+
|      id |         tb |      th      |
+---------+-------------+-------------+
|      11 |        tb1 |      th1     |
|      11 |        tb2 |      th2     |
|      11 |        tb3 |      th3     |
|      11 |        tb4 |      th4     |
+---------+------------+--------------+

我将不胜感激任何帮助。

3 个答案:

答案 0 :(得分:1)

您可以使用批量插入

[
        {
        "id":1,
        "cake":"chocolate cake",
        "servings":"15",
        "size":"10",
        "code":"ed39"   
    },

答案 1 :(得分:1)

我认为你有字符串类型值,所以先爆炸它然后插入见下面的代码

$id='11';   
$value1= 'tb1,tb2,tb3,tb4';    
$value2= 'th1,th2,th3,th4';
$vals1= explode(',',$value1);
$vals2= explode(',',$value2);
$i=0;
foreach($vals1 as $val1)
{
  $ins="INSERT INTO my_table (id, tb, th)values ( ".$id." ,  '".$val1."' ,'".$vals2[$i]."' )";
  $i++;
}

答案 2 :(得分:0)

假设您正在使用PDO进行数据库通信,$ value1和$ value2中的值将相等:

<?php

$id = 11;
$value1 = 'tb1,tb2,tb3,tb4';
$value2 = 'th1,th2,th3,th4';
$values1 = explode(',', $value1);
$values2 = explode(',', $value2);
$sql = "INSERT INTO table (id, tb, th) VALUES (:id, :value1, :value2 )";
$stmt = $pdo->prepare($sql);
for ($i = 0; $i < count($values1) $i++)
{
    $stmt->bindParam('id', $id);
    $stmt->bindParam('value1', $values1[$i]);
    $stmt->bindParam('value2', $values2[$i]);
    if($stmt->execute()){
        echo "QUERY EXECUTED";
    }
}

?>

编辑以更有效地使用准备