php mysql插入错误
我得到这个错误 错误:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用“近”字符(姓名、地址、出生地、年龄、, 生日)值('Alex','Villa V'在第1行 这里php mysql插入错误,php,mysql,Php,Mysql,我得到这个错误 错误:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用“近”字符(姓名、地址、出生地、年龄、, 生日)值('Alex','Villa V'在第1行 这里 $sql=“插入字符(姓名、地址、出生地、年龄、出生日期) 值(“$name”、“$address”、“$birthplace”、“$age”、“$birthplace”)”; if($conn->query($sql)==true){ echo“新记录创建成功”; }否则{ echo“Error:”.
$sql=“插入字符(姓名、地址、出生地、年龄、出生日期)
值(“$name”、“$address”、“$birthplace”、“$age”、“$birthplace”)”;
if($conn->query($sql)==true){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$conn->Error;
}
$conn->close();
其他一切似乎都很好我检查了语法但是
错误不会消失。
字符
是一个字符,需要使用反勾号进行转义
INSERT INTO `character` (name, address, birthplace, age, birthdate)
VALUES ( 'Alex','Villa Verde Subd.','July 5 1993', '17','July 5 1993')
顺便说一句,您应该将日期值存储在
date
列中,而不是作为字符串。存储age
也不是一个好主意,因为它需要调整。它可以从出生日期开始计算。字符在MySQL中是一个保留字。您必须使用倒勾来转义它:
$sql = "INSERT INTO `character` (name, address, birthplace, age, birthdate) VALUES ( '$name','$address','$birthplace', '$age','$birthplace')";
不能将
字符
用作表名作为其保留关键字。使用反勾号字符
是MySQL保留字
为此,请使用反勾号,例如:
INSERT INTO `character`
有关更多信息,请参见此处:
在这个问题中,大量的叫喊大写字母被认为是叫喊…关于你问题的第一个视图,我直到最后才会读它…也要正确地格式化你的代码。你有没有试过在你的sql工具中运行它?例如phpmyadmin。你的表结构是什么?这是mysql数据库的版本,我使用的是服务器:127.0.0.1,通过TCP/IP S软件:MySQL软件版本:5.5.27-MySQL社区服务器(GPL)协议版本:10用户:root@localhost服务器字符集:UTF-8 Unicode(utf8)字符可能是保留关键字。[lol late]
INSERT INTO `character`