Как вы вставляете данные в столбец даты или времени MySQL, используя PHP mysqli и bind_param?
Использование Mysqli bind_param с столбцами даты и времени?
Ответ 1
Как и любая другая строка
$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();
Ответ 2
Временные метки в 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();
Ответ 3
Для текущей даты/времени вы можете использовать стандартную процедуру MySQL. Вам не нужно это готовить.
$query = "INSERT INTO tablename ";
$query .= "VALUES(?,?,?,NOW()) ";
$preparedquery = $dbaselink->prepare($query);
$preparedquery->bind_param("iii",$val1,$val2,$val3);
Ответ 4
Я использовал функцию 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();
Ответ 5
Используйте функцию mySQL now() для полей timestamp.
Ответ 6
сначала установите дату и время, используя дату() function-
$date=date("d/m/y");
$time=date("h:i:sa");
затем передайте его в подготовленный оператор, как и любую другую строку variable-
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn, timeColumn) VALUES (?,?)");
$stmt->bind_param("ss", $date , $time);
$stmt->execute();
Ответ 7
Мой ответ может быть немного не по теме. У меня была проблема в bind_param при прохождении даты. Дата была в формате (mm/dd/yyyy hh:mm:ss)
. MySQL не принимал его в формате (yyyy/mm/dd)
(который является форматом даты по умолчанию в MySQL) в bind_param.
Следующее форматирование даты решило проблему:
date('Y/m/d', strtotime($date_variable))
Ответ 8
$ q = "вставить в order_details (order_id, product_id, product_name, product_quantity, product_price, creation_at, updated_at) значения (?,?,?,?,?, NOW(), NOW())";
$stmt = mysqli_prepare($dbc, $q);
mysqli_stmt_bind_param ($ stmt, 'iisid', $ ord, $ pid, $ _SESSION ['product_name'], $ qty, $ price);