Mit Mysqli bind_param mit Datum und Uhrzeit Spalten?
Frage
Wie fügen Sie Daten in einer MySQL-Datum oder die Uhrzeit Spalte PHP mysqli und bind_param?
Lösung
Wie jede andere Zeichenfolge
$stmt = $mysqli->prepare('insert into foo (dt) values (?)'); $dt = '2009-04-30 10:09:00'; $stmt->bind_param('s', $dt); $stmt->execute();
Andere Tipps
Zeitstempel in PHP sind ganze Zahlen (die Anzahl der Sekunden von der UNIX-Epoche). Eine Alternative zu dem obigen ist ein Integer-Typ Datum / Zeit-Parameter zu verwenden, und die MySQL Funktionen FROM_UNIXTIME
und UNIX_TIMESTAMP
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES (FROM_UNIXTIME(?))");
$stmt->bind_param("i", $your_date_parameter);
$stmt->execute();
ich verwenden, um die Funktion date () und diese gelöst mir das Problem.
$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();
Für die aktuelle Datum / Zeit können Sie die MySQL-Standard-Routine verwenden. Sie müssen nicht darauf vorbereiten.
$query = "INSERT INTO tablename ";
$query .= "VALUES(?,?,?,NOW()) ";
$preparedquery = $dbaselink->prepare($query);
$preparedquery->bind_param("iii",$val1,$val2,$val3);
Mit der mySQL-Funktion now () für Zeitstempel Felder aus.
stellen Sie zuerst das Datum und die Uhrzeit mit Datum () Funktion -
$date=date("d/m/y");
$time=date("h:i:sa");
dann in die vorbereitete Anweisung übergeben, wie jede andere String-Variable -
$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn, timeColumn) VALUES (?,?)");
$stmt->bind_param("ss", $date , $time);
$stmt->execute();
$ q = "insert into order_details (order_id, product_id, product_name, product_quantity, PRODUCT_PRICE, created_at, updated_at) Werte (,,,,, NOW (), NOW ()?????)";
$stmt = mysqli_prepare($dbc, $q);
mysqli_stmt_bind_param ($ stmt, 'iisid', $ ord, $ pid, $ _SESSION [ 'product_name'], $ Menge, $ Preis);