PHP 日期无法存入数据库

<?PHP
require 'database.php';
$file_name="11.txt";
$arr=array();
$fp=fopen($file_name,'r');

while(!feof($fp))
{
$buffer=fgets($fp);
$arr=explode(",",$buffer);
$ymd=date('Y-m-d',strtotime($arr[0]));
$query = "INSERT INTO soybean_ meal1305
(soybean_ meal1305_date,soybean_ meal1305_close)
VALUE
($ymd,$arr[6])";
@mysql_query($query) or die('添加数据出错:'.mysql_error());

}

fclose($fp);?>

添加数据出错: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 'meal1305 (soybean_ meal1305_date,soybean_ meal1305_close) VALUE (2012-02-' at line 1

第1个回答  2013-01-10
它是提示说你的sql语句有语法错误,自己再检查下,或者把你的sql语句打印出来,复制到mysql客户端执行下,以确认sql语句没有错误。追问

打印出的数据正常,第一个变量是日期,第二个变量是数值. 在写入数据库时就出错.
数据库的日期类型是DATE型

追答

打印出来的数据正常?你手动放到数据库里面去执行了吗?可能你没有理解我的意思,mysql的提示是你的sql语句有语法错误,就是你的sql语句写错了,还告诉了你错在了哪里:near,首先你要确保你的sql语句是正确的,你只是打印了出来,没有单独手动去执?你打印是就把sql语句输出到了页面上吗?这样在能保证sql语句正确吗?数据类型的话,data类型我没有用过,我都是存int型时间戳的。我也忽略了一点,你的插入的值是需要加单引号或是双引号的,数组变量的话在引号里面还要加一层大括号{ }。

第2个回答  2013-01-10
$query = "INSERT INTO `soybean_ meal1305`
(`soybean_ meal1305_date`,`soybean_ meal1305_close`)
VALUE
VALUE
($ymd,$arr[6])";
试试看,表名和字段要加引号。
第3个回答  2013-01-10
$query = "INSERT INTO soybean_ meal1305
应该是 $query = "INSERT INTO soybean_meal1305 多了个空格
第4个回答  2013-01-10
表字段加``,如`soybean_ meal1305_date`,插入的值加单引号本回答被提问者采纳

PHP 日期无法存入数据库
它是提示说你的sql语句有语法错误,自己再检查下,或者把你的sql语句打印出来,复制到mysql客户端执行下,以确认sql语句没有错误。

php date('Y-m-d') 存入数据库 数据库中数据格式是data为什么提示有错...
1、如果你的提问无误的话,那么数据库中保存“date('Y-m-d')”结果的字段的格式应该是date,而不是data。2、如果数据库格式设置没有问题的话,可以根据错误提示检查新增、修改数据库的代码。一般只有这两种情况让我们无法正常将结果集保存到数据库。其他情况的“错误提示”大约有:数据库无法连接,数...

php里日期数据写入数据库的问题
date = $date." 00:00:00";如果不是0的话,就要知道时间..

用jquery和ajax php将数据插入到mysql数据库,为什么插入一条就再不能...
如果不是缓存问题,那么就可能是数据库设置方面。

PHP 下拉框 只能存储最后一条值。前面3条值无法存入数据库...
你这是多选框,那么这个框的名子就需要用数组形式表示如:name="selected[]" 这样写在,PHP站接收的是一个数组,如果那4项都要提交的情况下就需要全部选中才能获取到。

网站输入框,所有中文及特殊字符都无法存入数据库,输入框全是中文验证...
存数据库之前`把页面设为UTF-8`或是用GB2312编码 两步解决:1,首先把数据库那个表设为相同类型`例如utf-8 2,在存入的面面meta上加上格式为utf8 在连接数据库时也要设一下Name="utf-8";你这样试试`多数能解决`

php导出的日期变成###
你好,楼主 我跟你遇到过同样的问题。其实问题很简单解决的!因为在你的 EXCEL表中 日期这一列宽度不够而引起的。 (也就是说程序是没错,导出的数据也没错),你只要把你 日期 这一列 拉长! 你就可以看到正确的数据了! 以前我懊恼过,呵呵。。。不知道你的是不是这个原因而引起的日期数据...

php如何将一段带有\\\\n的文字存入数据库?
你在后台存入的时候可以先将\\n替换为普通标签,比如,当然也可以替换为你不会用到的字符,比如^,然后在读取出来之后,再次将替换为\\r\\n再alert就行了。

PHP获取网站中的信息并存入数据库
用正则表达式preg_match();或者是 preg_match_all();这两个函数它们都返回一个数组,这个数组存的就是你要的航班号和起飞时间,那么相同信息的数组就会出现了,然后在对这个数组进行分析找到你要的某个值或全部的值 获取信息要用到的3个函数是:file_get_contents();preg_match();preg_match_all(...

php怎么操作才能把这个二维数组加进数据库里面
可以按照 ly4885806 的方法 序列化成字符串插入数据库,不过这个只能插入一个字段不循环如果你的数据是需要插入多个行和字段的话只能循环了$Array = Array ( [0] => Array ( [0] => 张三 [1] => 70 ) [1] => Array ( [0] => 李四 [1] => 80 ) [2] => Array ( [0] => ...

相似回答