日付と時刻の列でMysqli bind_paramを使用していますか?
質問
PHP mysqliとbind_paramを使用して、MySQLの日付または時刻列にデータを挿入するにはどうすればよいですか
解決
他の文字列と同様
$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、created_at、updated_at)値(?、?、?、?、?、NOW())、NOW())&quot ;;
$stmt = mysqli_prepare($dbc, $q);
mysqli_stmt_bind_param($ stmt、 'iisid'、$ ord、$ pid、$ _SESSION ['product_name']、$ qty、$ price);
所属していません StackOverflow