简体   繁体   English

php mysql中的多行插入错误

[英]Multiple rows insertion error in php mysql

Whats the issue in the following query....i am constantly receiving this error.以下查询中的问题是什么....我不断收到此错误。 Error: INSERT INTO Myguests (firstname,lastname,email)VALUES You have an error in your SQL syntax;错误:INSERT INTO Myguests (firstname,lastname,email)VALUES 您的 SQL 语法有错误; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 1 行附近使用的正确语法

<?php  include("new_db.php");?>

<?php
if(!empty($_POST['f_name'])&&!empty($_POST['l_name'])
&&!empty($_POST['email']))
{       $sql = "INSERT INTO Myguests (firstname,lastname,email)VALUES";
        for($i=0;$i<$_POST['num'];$i++){
        $first_name = mysqli_real_escape_string($conn,$_POST['f_name'][$i]);
        $last_name  = mysqli_real_escape_string($conn,$_POST['l_name'][$i]);
        $Email      = mysqli_real_escape_string($conn,$_POST['email'][$i]);

  $sql.="('".$first_name."','".$last_name."','".$Email."')";

}
$sql =rtrim($sql, ',');
if (mysqli_query($conn, $sql)) {
    echo "Records Created";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}


}
    mysqli_close($conn);

    ?>

I used this create table statement我使用了这个创建表语句

CREATE TABLE `Myguests` (
 `firstname` varchar(11) ,
 `lastname` varchar(11) ,
 `email` varchar(11));

And this code而这段代码

<?php

$_POST['f_name'][0] = "john";
$_POST['f_name'][1] = "will";
$_POST['f_name'][2] = "jane";
$_POST['l_name'][0] = "doe";
$_POST['l_name'][1] = "smith";
$_POST['l_name'][2] = "2x";
$_POST['email'][0] = "mail@mail.com";
$_POST['email'][1] = "mail2@mail.com";
$_POST['email'][2] = "mail3@mail.com";
$sql = "INSERT INTO Myguests (firstname,lastname,email) VALUES ";
for($i=0;$i<3;$i++){
$first_name = ($_POST['f_name'][$i]);
$last_name  = ($_POST['l_name'][$i]);
$Email      = ($_POST['email'][$i]);
  $sql.="('".$first_name."','".$last_name."','".$Email."'),";

}
$sql =rtrim($sql, ',');

And it worked, are you still getting the same error after you added the "," after the $sql.= ?它起作用了,在$sql.=之后添加“,”后,您是否仍然遇到相同的错误?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM