当前位置:Gxlcms > PHP教程 > 运行SQL语句时出现错误提示,求解

运行SQL语句时出现错误提示,求解

时间:2021-07-01 10:21:17 帮助过:50人阅读

date_default_timezone_set("Asia/ShangHai");
$h=date("H:i:s");
$j=date("Y-m-d");
$k=date("Y-m-d H:i:s");
//require_once("dbtools.inc.php");//包含文件,这里没有提供,是关于数据库建立和执行SQL语句的,可以自行编写
//$link = create_connection();//同上
mysql_query("SET NAMES gb2312");
//mysql_query("SET NAMES UTF8");
$sql="select * from abc";
$result = execute_sql("data", $sql, $link);//此函数在包含文件中,没有提供,可自行编写

if(mysql_num_rows($result)<1){
$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`

涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");
if($query!=true){echo "exit".mysql_errno().mysql_error();}
echo "sucess";}
?>
运行后出现如下提示运行1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','',''' at line 1:


回复讨论(解决方案)

把里面的全角逗号改为半角的再说。

改成这样应该可以了。
$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");

逗号的问题?不会吧,改成这样应该可以了。
$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");

没怎么动呀,哪不同了,看不出来,是不是我的字段与插入数据数量不同呀,又或者是用中文作字段MYSQL不允许??

你的代码在 涨跌幅 前面明显有一个换行符

如果用中文做字段名,则需注意表的字符集这否正确

字符集问题好说,无非是"mysql_query("SET NAMES gb2312");
//mysql_query("SET NAMES UTF8");"都试过了,不行的。另外“你的代码在 涨跌幅 前面明显有一个换行符",声明,源码中没有。再有,逗号问题,刚刚试了,中文逗号,英文逗号,半角逗号 ,全角逗号都没有用。错误照旧”1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','',''' at line 1“

改成这样应该可以了。
$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");


师兄说得对,我试了下,竟然成功了,能详细说说原因吗?为什么我写得就不行,你一改就行了,并且,我看不出两者有什么不同。谢。


改成这样应该可以了。
$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");


师兄说得对,我试了下,竟然成功了,能详细说说原因吗?为什么我写得就不行,你一改就行了,并且,我看不出两者有什么不同。谢。



1.因为你写的那个,有些逗号用了中文的逗号。
涨跌幅` ,`成交量` ,`成交额` ,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");
2.$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`

涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");
这里你换行了,所以不行。



改成这样应该可以了。
$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");


师兄说得对,我试了下,竟然成功了,能详细说说原因吗?为什么我写得就不行,你一改就行了,并且,我看不出两者有什么不同。谢。



1.因为你写的那个,有些逗号用了中文的逗号。
涨跌幅` ,`成交量` ,`成交额` ,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");
2.$query=mysql_query("insert into abc (`股票代码`,`股票名称`,`行情时间`,`最新价`,`昨收盘`,`今开盘`,`涨跌额`,`最低价`,`最高价`,`

涨跌幅`,`成交量`,`成交额`,`委比`,`日期`) values('','','','','','','','','','','','','','$j')");
这里你换行了,所以不行。


谢了,看来还是基础不够牢,下去一定多多练习。

人气教程排行