sql查询在表中插入数据时遇到语法错误。啊,语法错误,最没用的错误!!
使用从php修改的代码,使用mysqli和pdo方法将数据插入mysql。例如。:
<?php
$servername = "localhost";
$username = "4w_write";
$password = "GjByhJzrQueHgTzw";
$dbname = "4w_test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO 4w (email) VALUES ($email)";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
把它简化为一个不使用关键字的变量,我很确定问题出在我的表上。
sql查询:
INSERT INTO 4w (email) VALUES (myemail@gmail.com)
错误:
错误:插入4w(电子邮件)值(myemail@gmail.com)sql语法有错误;在第1行的“@gmail.com”附近查看与您的mariadb服务器版本相对应的手册,以获取正确的语法
sql表(4w):
# Name Type Default
1 id [Primary,Index] int(11)
2 email varchar(255)
3 whatIs tinytext
4 whereIs text
5 whattodo text
6 imageURL text
7 whenRep timestamp CURRENT_TIMESTAMP
2条答案
按热度按时间ogq8wdun1#
看不到问题,缺少引号。。。。原始代码:
固定代码:
c2e8gylq2#
电子邮件值是一个字符串,因此需要用引号将其括起来:
或者,更好的方法是使用一个准备好的语句并绑定它的值。