PHP - 将日期插入 MySQL 时出错

标签 php mysql date

我在尝试将日期插入 MySQL 时遇到了一个典型的问题。

MySQL中定义的列是DATE类型。我的PHP版本是5.3.0

除了这个与日期相关的问题,我的其余代码工作正常。

这是我执行此操作的 PHP 脚本:

$tablename = BOOKS_TABLE;
    $insert = mysql_query("INSERT INTO $tablename (barcode, book_name, volume_num,".
    " author, publisher, item_type, buy_price, buy_date) VALUES ".
    "(".
        "'" . $barcode      . "', ".
        "'" . $bookname     . "', ".
        "'" . $volumenum    . "', ".
        "'" . $author       . "', ".
        "'" . $publisher    . "', ".
        "'" . $itemtype     . "', ".
        "'" . $buyprice     . "', ".
        "'" . getMySQLDateString($buydate). "'".
        //"'STR_TO_DATE('".$buydate ."', '%d/%m/%Y'))'". //nothing changes in MySQL
    ")");

这是错误的功能:

function getMySQLDateString($buydate) //typical buydate : 04/21/2009
{
    $mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate)); 

    return $mysqlDateString;
}

第一个被注释掉的行不会做任何事情,脚本执行时没有错误,但是,在此之后数据库中没有任何变化。

当前的方法会导致 fatal error ,指出函数名称必须是此行中的字符串。

其实我关注了this thread on SO , 但不能将日期传递到 MySQL...

谁能帮我看看哪里不对?

在这种情况下,您将如何做到正确?

很抱歉提出这样一个熟练的问题,非常感谢。

更新:

感谢您提醒我这一点,这里是 html 输出的确切错误消息:

fatal error :函数名称必须是 C:\xampp\htdocs\comic\app\insertBookIntoDB.php 中第 85 行的字符串

该行以哪个点开始

$mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate));

最佳答案

在下一行中:

$mysqlDateString = date('Y-m-d H:i:s', $strtotime($buydate)); 

这应该是:

$mysqlDateString = date('Y-m-d H:i:s', strtotime($buydate)); 

(例如,删除函数中的美元)?

关于PHP - 将日期插入 MySQL 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2780384/

相关文章:

MySQL 导出到 MongoDB

date - 从Groovy中的时间戳获取日期

javascript - 找出两个日期之间的差异

php - 查询 mysql 表并获取 3 天内发布的行

php - 使用$stmt->fetch(PDO::FETCH_ASSOC)时如何输出数据;

php - imap_fetchstructure() 不返回部件对象

Java - 使用 Joda 定义时间间隔

php - 如何将保存在服务器文件夹中的图像与 mySQL 数据库中的数据一起显示?

mysql - 根据另一个表中的不相关字段从一个表中选择字段(具有 id 值的桥接表将它们链接起来)

php - 由于找不到 pdo_mysql 驱动程序导致 Yiic 迁移错误