欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

大神看看哪错了,两天了

程序员文章站 2024-01-26 19:41:28
...
$sql = "INSERT INTO patient (order,name,age,sex,tel,qq,disease,media_from,area,ordertime,teshuyaoqiu,content,ordertag,beizhu,zixun_id)					VALUES('$order','$name','$age','$tel','$qq','$disease','$media_from','$area','$ordertime','$teshuyaoqiu','$content','$ordertag','$beizhu','$zixun_id')";if (mysql_query ( $sql, $conn )) {	exit ( '添加成功!点击此处 首页' );} else {	echo '抱歉!添加数据失败:', mysql_error (), '
'; echo '点击此处 返回 重试';}


运行结果:
抱歉!添加数据失败: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 'order,name,age,sex,tel,qq,disease,media_from,area,ordertime,teshuyaoqiu,content,' at line 1
点击此处 返回 重试


回复讨论(解决方案)

order 是 mysql 保留字,挪作他用时应转义
`order`

要学会看错误报告
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 'order,name,age,sex,tel,qq,disease,media_from,area,ordertime,teshuyaoqiu,content,' at line 1

引号后的就是 mysql 认为有问题的部分

两个问题
1.order是关键字,最好不要用。
如果一定要用,需要用``括起来。
2.insert的字段数量与后面的values数量不匹配
字段15个,但values只有14个,少了sex

改成这样就可以了。
$sql = "INSERT INTO patient ( `order `,name,age,sex,tel,qq,disease,media_from,area,ordertime,teshuyaoqiu,content,ordertag,beizhu,zixun_id) VALUES('$order','$name','$age', '$sex','$tel','$qq','$disease','$media_from','$area','$ordertime','$teshuyaoqiu','$content','$ordertag','$beizhu','$zixun_id')";

使用order的时候,应该使用''

order 是 mysql 保留字,挪作他用时应转义
`order`


涨姿势了