Использование Mysqlibind_param со столбцами даты и времени?

StackOverflow https://stackoverflow.com/questions/805828

  •  03-07-2019
  •  | 
  •  

Вопрос

Как вставить данные в столбец даты или времени MySQL с помощью PHP mysqli иbind_param?

Это было полезно?

Решение

Как и любая другая строка

$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();

Другие советы

Временные метки в 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();

Я использовал функцию 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();

Для текущей даты/времени вы можете использовать стандартную процедуру MySQL.Вам не обязательно это готовить.

$query  = "INSERT INTO tablename ";
$query .= "VALUES(?,?,?,NOW()) ";
$preparedquery = $dbaselink->prepare($query);
$preparedquery->bind_param("iii",$val1,$val2,$val3);

Используйте функцию mySQL now() для полей временных меток.

сначала установите дату и время с помощью функции 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();

$q = "вставить в order_details (order_id, Product_id, Product_name, Product_quantity, Product_price, Create_at, Updated_at) значения (?, ?, ?, ?, ?, NOW(), NOW())";

            $stmt = mysqli_prepare($dbc, $q);

mysqli_stmt_bind_param($stmt, 'iisid',$ord, $pid, $_SESSION['product_name'], $qty, $price);

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top