使用W3schools的MYSQL学习PHP。一切都很顺利,但是当我试图在表格中输入多个值时,它会显示错误。
Error INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com')INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'm' at line 2
这是我的代码Sample
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'envy';
// Create Connection
$conn = new mysqli($server, $username, $password, $database);
if($conn->connect_error){
die("Connected Successfully.".$conn->connect_error);
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', 'mary@example.com')";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', 'julie@example.com')";
if($conn->query($sql)==TRUE){
$lastid = $conn->insert_id;
echo "New Record Created successfully. Last id: ". $lastid;
}else{
die("Error ".$sql."<br>".$conn->error);
}
$conn->close();
作为初学者,我不知道问题出在哪里。我编写了类似教程的确切代码,但是
这是教程的链接。 http://www.w3schools.com/php/php_mysql_prepared_statements.asp
答案 0 :(得分:3)
您必须在两个sql语句之间添加;
:
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', 'mary@example.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', 'julie@example.com')";
答案 1 :(得分:3)
尝试以下代码
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
$sql .= ",('Mary', 'Moe', 'mary@example.com')";
$sql .= ",('Julie', 'Dooley', 'julie@example.com')";
答案 2 :(得分:2)
或者不是多次查询,为什么不插入批次:
$sql = "
INSERT INTO MyGuests (firstname, lastname, email)
VALUES
('John', 'Doe', 'john@example.com'),
('Mary', 'Moe', 'mary@example.com'),
('Julie', 'Dooley', 'julie@example.com')
";
答案 3 :(得分:1)
当您运行更多查询时,您需要以分号结束每个查询。
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com');";
^
答案 4 :(得分:0)
在每个insert语句之后加上分号(;),因为你一次只执行多个语句
INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');
INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');
INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com');
希望这适合你。