谢谢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的结果

解决方案 »

  1.   

    为什么mysql_select_db('updaterecords' , $db);这里的第一个参数是表名呢?难道不应该是数据库名吗?
      

  2.   

    ls说得对
    另外你sql语句不对.引住库名和表名的不应该是单引号('),而应该是键盘左边Esc以下,1键以左,tab以上那个符号(`).
      

  3.   

    另外,
    mysql_select_db('updaterecords' , $db);我改成了
    mysql_select_db('itd' , $db);
    还是运行不成功
      

  4.   

    晕......我一直是用单引号的啊....其它页面都没问题哦
    =================================================
    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
      

  5.   

    是不是我的where语句有问题? 我不知道错在哪儿
      

  6.   

    我在phpmyadmin里用SQL输入命令单引号没有问题,而且我的其它页面都是用的单引号,并无问题.
    这个运行不成功的页面也没有显示语法错误.  我的WHERE语句放到PHPMYADMIN的SQL里运行,提示语法错误......
      

  7.   

    $tb = mysql_select_db('updaterecords' , $db);
    $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);
      

  8.   

    $tb = mysql_select_db('itd' , $db);
    $query =  "UPDATE `updaterecords` SET `date`='".$ud."' where `table`='szinternetip' ";
    $result = mysql_query($query);
    运行不成功,但如果将.$ud.换成数字字符则运行成功, 这样看来上面$ud = date('YndHis')的值不符合MYSQL的DATETIME格式?
      

  9.   

    datetime格式---->date('Y-m-d H:i:s')
    你想存date('yndHis')这样的应该将date字段的类型设为varchar.
      

  10.   

    foolbirdflyfirst(湖水清澈) (@Fix my lover@) 你是对的,
    date()的值可以直接进入MYSQL,之前一直FALSE是因为我用的是date('YndHis'),这月份显示的月份前面是不带前导0的, 所以整个日期时间显示出来是13位, 像是2007808131313,而MYSQL中DATETIME的格式中月份数是带前导0的, 如20070808131313, 所以之前运行语句老是少一位, 数据导入不成功, 我把date('YndHis')改成date('YmdHis')后就成功了再次感谢!!