使用multi_query同时向db插入多行

时间:2018-01-27 10:47:05

标签: php mysql

我必须插入2个查询,我想用multi_queries运行它们。在文件的每次运行中,应该有2行添加到表中,但我的问题是它们没有插入。我与数据库的连接是可以的,我用那个

测试了查询
    $q1 ="INSERT INTO auto_charge(phone,charged_at,created_at,updated_at) VALUES ('123456789','2018-01-24 12:37:07','2018-01-27 09:19:42','2018-01-27 09:19:42')";
    $q1 .="INSERT INTO auto_charge(phone,charged_at,created_at,updated_at) VALUES ('987654321','2018-01-24 12:37:07','2018-01-27 09:19:42','2018-01-27 09:19:42')";
    $result = $conn->multi_query( $q1 );

4 个答案:

答案 0 :(得分:2)

尝试使用数组来存储数据。然后取数组的计数并运行循环取决于数组计数。在循环内执行查询。给我详细解释清楚。 thnank you

答案 1 :(得分:1)

如果您插入单一表格,您可以像这样编写查询

$sql = "INSERT INTO auto_charge(phone,charged_at,created_at,updated_at) VALUES ('123456789','2018-01-24 12:37:07','2018-01-27 09:19:42','2018-01-27 09:19:42');";
$sql .= "INSERT INTO auto_charge(phone,charged_at,created_at,updated_at) VALUES ('987654321','2018-01-24 12:37:07','2018-01-27 09:19:42','2018-01-27 09:19:42');";

$result = $conn->multi_query($sql)

或者,如果您插入进入多个表格,您可以这样写

{{1}}

注意:每个SQL语句必须用分号分隔。

答案 2 :(得分:0)

您的语法错误,您可以在单个插入查询中插入多个值,如下面的代码

T _Z20

我希望这会对您有所帮助。

答案 3 :(得分:0)

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "dbname");

  $query ="INSERT INTO auto_charge(phone,charged_at,created_at,updated_at) VALUES ('123456789','2018-01-24 12:37:07','2018-01-27 09:19:42','2018-01-27 09:19:42')";
  $query .="INSERT INTO auto_charge(phone,charged_at,created_at,updated_at) VALUES ('987654321','2018-01-24 12:37:07','2018-01-27 09:19:42','2018-01-27 09:19:42')";

/* execute multi query */
     mysqli_multi_query($link, $query);

?>

试试这个。