2017-10-12 122 views
-2

我使用时间的方法: $time= date('h:i:s');PHP - 日期(时间)插入到数据库

我想要的是把这个时间到数据库在MySQL中, 我用: $query = mysqli_query($conn, "INSERT INTO tab ('ltime') VALUES ($time)");但它不工作

其中,tab是表格,ltime是具有时间类型的列。

我在做什么错?

问候

+0

你得到的错误是什么? – pravindot17

+0

从ltime中删除'' – pr1nc3

+0

[在MySQL中何时使用单引号,双引号和反引号]可能的重复(https://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double -quotes-and-backticks-in-mysql) – Swellar

回答

0

您的查询应该是这样的

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

不工作,mySQL中仍然存在00:00:00。 – unSkilledProgrammer

+0

检查$ time变量中的值,它必须是$ time = date('h:i:s')格式 – pravindot17

+0

它是$ time = date('h:i:s')并且仍然存在00:00: 00在SQL中。 – unSkilledProgrammer

0

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

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

这不起作用,如果我检查我的数据库仍然存在00:00:00 – unSkilledProgrammer

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

分配时,不要使用 ''列名

0

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

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

1

您的查询会是这样。

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