문제

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 에포크에서 몇 초). 위의 대안은 정수 유형 날짜/시간 매개 변수를 사용하는 것입니다. FROM_UNIXTIME 그리고 UNIX_TIMESTAMP

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

날짜 () 함수를 사용하여 문제를 해결했습니다.

$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 function ()을 사용하십시오.

먼저 날짜 () 함수를 사용하여 날짜 및 시간을 설정하십시오.

$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