質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top