2016-04-23 90 views
1

我正在嘗試構建一個SQL查詢,它將在虛構的日託設施中爲兒童插入簽入時間。這裏是我的查詢代碼的精簡版:無法使用PHP將日期和時間插入到MYSQL數據庫中

$childFirstName = $_POST['childFirstName']; 
$childLastName = $_POST['childLastName']; 

$now = new DateTime(); 
$nowDate = $now->format('m-d-Y'); 
$nowTime = $now->format('h:i'); 


$sql_childID = "SELECT id FROM child 
       WHERE firstName = '$childFirstName' 
       AND lastName = '$childLastName'"; 
$result = $pdo->query($sql_childID); 
$row = $result->fetch(); 


$sql = "INSERT INTO checkinout(date, in, child_id) VALUES(?,?,?)"; 
    $statement = $pdo->prepare($sql); 
    $statement->bindValue(1, $nowDate); 
    $statement->bindValue(2, $nowTime); 
    $statement->bindValue(3, $row['id']); 
    $statement->execute(); 

的checkinout表使用VARCHAR數據類型爲日期列。最初他們被設置爲使用DATETIME,但我收到了相同的錯誤。

現在我得到返回以下錯誤...

enter image description here

你可以從我的價值觀在我希望的方式來獲取傳遞錯誤信息看,但我不瞭解我的語法錯誤會在哪裏。

回答

3

用反引號括起您的字段名稱。其中兩個是保留字(datein):

$sql = "INSERT INTO checkinout(`date`, `in`, `child_id`) VALUES(?,?,?)"; 

https://dev.mysql.com/doc/refman/5.5/en/keywords.html

+0

是剛剛起步的鏈接... – Brian

+0

同樣的錯誤顯示,除了與反引號現在... – slickset

+0

嗯:\你確定它是一樣的錯誤? –

相關問題