【问题标题】:PHP - date(time) insert into DBPHP - 日期(时间)插入数据库
【发布时间】:2017-10-12 07:54:54
【问题描述】:

我使用的是时间方法: $time= date('h:i:s');

我想要的是将这段时间放入mySQL中的数据库中, 我用了: $query = mysqli_query($conn, "INSERT INTO tab ('ltime') VALUES ($time)"); 但它不起作用

其中 tab 是一个表格,而 ltime 是一个带有时间类型的列。

我做错了什么?

问候

【问题讨论】:

标签: php mysql sql time insert


【解决方案1】:

您的查询将如下所示。

$query = mysqli_query($conn, "INSERT INTO tab (ltime) VALUES ('$time')");

【讨论】:

    【解决方案2】:

    你的查询应该是这样的

    $query = mysqli_query($conn, "INSERT INTO tab (ltime) VALUES ($time)");
    

    【讨论】:

    • 检查 $time 变量中的值,它必须是 $time = date('h:i:s') 格式
    • 现在是 $time = date('h:i:s') 仍然是 SQL 中的 00:00:00。
    【解决方案3】:

    列和表应该有反引号而不是单引号

    INSERT INTO `tab` (`ltime`) VALUES ($time)
    

    【讨论】:

    • 它不工作,如果我正在检查我的数据库还有一个 00:00:00
    【解决方案4】:
    $query = mysqli_query($conn, "INSERT INTO tab (ltime) VALUES ($time)");
    

    分配列名时不要使用''

    【讨论】:

      【解决方案5】:

      第一种方式同时指定列名和要插入的值:

      INSERT INTO table_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...);
      

      如果要为表的所有列添加值,则不需要在 SQL 查询中指定列名

      INSERT INTO table_name VALUES (value1, value2, value3, ...);
      

      在你的情况下:

      $query = mysqli_query($conn, "INSERT INTO tab (ltime) VALUES ($time)");
      

      列名不需要单引号:

      参考:https://www.w3schools.com/sql/sql_insert.asp

      【讨论】:

        猜你喜欢
        • 2019-10-06
        • 1970-01-01
        • 2012-05-01
        • 2013-04-27
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        相关资源
        最近更新 更多