谢谢foolbirdflyfirst(湖水清澈) (@Fix my lover@) 的回复,我初学PHP,很多东西不懂.
如果date('YndHis')就是字符串类型,那么麻烦你帮我看看下面的语句为什么不行
<?php
$ud = date('YndHis');
$db = mysql_connect('172.16.44.41' , 'alex' , 'alex') or die ("Problem connecting to DataBase");
$tb = mysql_select_db('updaterecords' , $db);
$query = "UPDATE 'itd'.'updaterecords' SET 'date'='$ud' where 'updaterecords'.'table'='szinternetip' ";
$result = mysql_db_query('itd', $query);if ($result){
echo "OK";
exit;
}
else {
echo "FALSE";
exit;
}
?>
说明一下: 我的MYSQL数据库是itd, 其中一张表是updaterecords,里面有一个字段是date类型是MYSQL里的datetime上面的PHP执行老是FALSE的结果
如果date('YndHis')就是字符串类型,那么麻烦你帮我看看下面的语句为什么不行
<?php
$ud = date('YndHis');
$db = mysql_connect('172.16.44.41' , 'alex' , 'alex') or die ("Problem connecting to DataBase");
$tb = mysql_select_db('updaterecords' , $db);
$query = "UPDATE 'itd'.'updaterecords' SET 'date'='$ud' where 'updaterecords'.'table'='szinternetip' ";
$result = mysql_db_query('itd', $query);if ($result){
echo "OK";
exit;
}
else {
echo "FALSE";
exit;
}
?>
说明一下: 我的MYSQL数据库是itd, 其中一张表是updaterecords,里面有一个字段是date类型是MYSQL里的datetime上面的PHP执行老是FALSE的结果
另外你sql语句不对.引住库名和表名的不应该是单引号('),而应该是键盘左边Esc以下,1键以左,tab以上那个符号(`).
mysql_select_db('updaterecords' , $db);我改成了
mysql_select_db('itd' , $db);
还是运行不成功
=================================================
mysql> select * from `test`.`a`;
+------+
| id |
+------+
| 5 |
| 0 |
| 3 |
+------+
3 rows in set (0.03 sec)mysql> select * from 'test'.'a';
ERROR 1064 (42000): 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 ''test
'.'a'' at line 1
这个运行不成功的页面也没有显示语法错误. 我的WHERE语句放到PHPMYADMIN的SQL里运行,提示语法错误......
$query = "UPDATE 'itd'.'updaterecords' SET 'date'='$ud' where 'updaterecords'.'table'='szinternetip' ";
$result = mysql_db_query('itd', $query);
===========================================
$tb = mysql_select_db('itd' , $db);
$query = "UPDATE `updaterecords` SET `date`='".$ud."' where `table`='szinternetip' ";
$result = mysql_query($query);
$query = "UPDATE `updaterecords` SET `date`='".$ud."' where `table`='szinternetip' ";
$result = mysql_query($query);
运行不成功,但如果将.$ud.换成数字字符则运行成功, 这样看来上面$ud = date('YndHis')的值不符合MYSQL的DATETIME格式?
你想存date('yndHis')这样的应该将date字段的类型设为varchar.
date()的值可以直接进入MYSQL,之前一直FALSE是因为我用的是date('YndHis'),这月份显示的月份前面是不带前导0的, 所以整个日期时间显示出来是13位, 像是2007808131313,而MYSQL中DATETIME的格式中月份数是带前导0的, 如20070808131313, 所以之前运行语句老是少一位, 数据导入不成功, 我把date('YndHis')改成date('YmdHis')后就成功了再次感谢!!