如何使用 PHP mysqli 和 bind_param 将数据插入 MySQL 日期或时间列?
问问题
110610 次
5 回答
98
像任何其他字符串一样
$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();
于 2009-04-30T08:10:26.683 回答
16
PHP 中的时间戳是整数(从 UNIX 纪元开始的秒数)。上述方法的替代方法是使用整数类型的日期/时间参数,以及 MySQL 函数FROM_UNIXTIME
和UNIX_TIMESTAMP
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES (FROM_UNIXTIME(?))");
$stmt->bind_param("i", $your_date_parameter);
$stmt->execute();
于 2009-07-28T01:17:00.677 回答
3
对于当前日期/时间,您可以使用 MySQL 标准例程。您不必为此做好准备。
$query = "INSERT INTO tablename ";
$query .= "VALUES(?,?,?,NOW()) ";
$preparedquery = $dbaselink->prepare($query);
$preparedquery->bind_param("iii",$val1,$val2,$val3);
于 2017-04-19T17:54:39.340 回答
0
我使用了 date() 函数,这解决了我的问题。
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES ?");
// 6/10/2015 10:30:00
$datetime = date("Y-m-d H:i:s", mktime(10, 30, 0, 6, 10, 2015));
$stmt->bind_param("s", $datetime);
$stmt->execute();
于 2015-10-06T17:50:37.350 回答
-1
首先使用 date() 函数设置日期和时间-
$date=date("d/m/y");
$time=date("h:i:sa");
然后将它传递给准备好的语句,就像任何其他字符串变量一样 -
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn, timeColumn) VALUES (?,?)");
$stmt->bind_param("ss", $date , $time);
$stmt->execute();
于 2018-01-19T08:57:25.553 回答