날짜 및 시간 열과 함께 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 에포크에서 몇 초). 위의 대안은 정수 유형 날짜/시간 매개 변수를 사용하는 것입니다. 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);
제휴하지 않습니다 StackOverflow