Question

Comment insérer des données dans une colonne de date ou d'heure MySQL avec PHP mysqli et bind_param?

Était-ce utile?

La solution

Comme toute autre chaîne

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

Autres conseils

Les horodatages en PHP sont des entiers (le nombre de secondes à partir de l'époque UNIX). Une alternative à ce qui précède consiste à utiliser un paramètre date / heure de type entier et les fonctions MySQL FROM_UNIXTIME et UNIX_TIMESTAMP

$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES (FROM_UNIXTIME(?))");
$stmt->bind_param("i", $your_date_parameter);
$stmt->execute();

J'ai utilisé la fonction date () et cela m'a résolu le problème.

$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();

Pour la date et l'heure actuelles, vous pouvez utiliser la routine standard MySQL. Vous n'êtes pas obligé de préparer cela.

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

Utilisez la fonction mySQL now () pour les champs d'horodatage.

commencez par définir la date & amp; heure en utilisant la fonction date () -

$date=date("d/m/y");
$time=date("h:i:sa");

puis passez-le dans l'instruction préparée, comme toute autre variable de chaîne -

$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn, timeColumn) VALUES (?,?)");
$stmt->bind_param("ss", $date , $time);
$stmt->execute();

$ q = " insérer dans order_details (order_id, product_name, product_name, product_quantity, product_price, created_at, updated_at), des valeurs (?,?,?,?,?, NOW (), NOW ()) " ;; <; / p>

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

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top