2015-12-23 47 views
2

我試圖在準備好的語句中插入當前日期(在d-m-Y中)到mysql表中。我無法獲得正確的代碼。 我被在PHP準備語句中插入日期

$dat = date("d-m-Y"); 

調用PHP的當前日期,然後包括在一份聲明中這樣

$stmt = $mysqli->prepare("INSERT INTO mytable (name, date) VALUES (?, ?)"); 
$stmt->bind_param('ss', $name, $dat); 
$reslt = $stmt->execute(); 

在該表中,日期不會被插入。它仍然是0000-00-00。我該如何糾正這一點?

+1

的MySQL永遠支持'YYYY-MM-DD'格式默認。所以你需要將你的日期格式轉換爲'$ dat = date('Y-m-d');' –

+1

'$ dat = date(「Y-m-d」);' – splash58

+0

你在mysql中使用了哪種數據類型? –

回答

6

應使用YYYY-MM-DD格式:

$dat = date("Y-m-d"); 
1

嘗試財產以後這樣的..

$stmt = $mysqli->prepare('insert into foo (dt) values (?)'); 
$dt = '2009-04-30 10:09:00'; 
$stmt->bind_param('s', $dt); 
$stmt->execute(); 

其他明智的這一個..

global $dbh; 
$query = "INSERT INTO loan (title, description, start_date, end_date) VALUES (?,?,?,?)" 

$statement = $dbh->prepare($query); 
$statement->bind_param("ssss", $title,$description,$startDate,$endDate); 

$statement->execute(); 
print $statement->error; //to check errors 
$statement->close();