Home >Backend Development >PHP Tutorial >运行SQL语句时出现错误提示,求解

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

WBOY
WBOYOriginal
2016-06-23 13:57:011304browse

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) $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')");
这里你换行了,所以不行。

谢了,看来还是基础不够牢,下去一定多多练习。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn