2014-02-25 163 views
2
 $sql3 = "SELECT order_id FROM orders WHERE order_code = '$order_code'"; 
     $result3 = $conn->query($sql3) or exit("Error code ({$conn->errno}): {$conn->error}"); 

     $row = mysqli_fetch_assoc($result3); 
     $order_id = $row['order_id'];  

     $deliv_date = date('Y-m-d'); 

     $sql = "UPDATE orders SET deliv_date = $deliv_date 
         WHERE order_id = $order_id"; 
     $result = $conn->query($sql) or exit("Error code ({$conn->errno}): {$conn->error}"); 



     $sql1 = "INSERT INTO invoice VALUES (0,'$order_code','$deliv_date','','$order_id')"; 

     $result1 = $conn->query($sql1) or exit("Error code ({$conn->errno}): {$conn->error}"); 

以上是我正在使用的代碼。最後一行的插入正確工作,並獲取正確的$ order_code,$ deliv_date和$ order_id。更新沒有錯誤,但字段「deliv_date」永遠不會設置爲$ deliv_date。我無法從邏輯上看出問題所在。任何人都可以發現它?我一直在上牆。mysqli更新不起作用

謝謝。

回答

4

你需要用你的約會對象在報價:

$sql = "UPDATE orders SET deliv_date = $deliv_date 
        WHERE order_id = $order_id"; 

應該

$sql = "UPDATE orders SET deliv_date = '$deliv_date' <-- HERE 
        WHERE order_id = $order_id"; 
1

變化

$sql = "UPDATE orders SET deliv_date = $deliv_date 
         WHERE order_id = $order_id"; 

$sql = "UPDATE orders SET deliv_date = '$deliv_date' 
         WHERE order_id = $order_id";