2016-02-13 73 views
-2

我不斷收到以下錯誤:PHP MySQL錯誤刪除的行

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order WHERE id = '49'' at line 1

我不明白是什麼原因造成這一點。我檢查過任何語法錯誤,回顧了mysqli文檔,並在堆棧溢出中查找類似的帖子,但沒有運氣。我做錯了什麼?

這是我使用的代碼:

<?php 

    if (isset($_GET['order_id']) && $_GET['order_id'] != "") 
    { 
      $delete_id = $_GET['order_id']; 
      echo "<p>$order_id</p>"; 

      $conn = new mysqli($server, $user, $password, $database); 
      $sql = "DELETE FROM order WHERE id = '" . $delete_id . "';"; 
      $result = mysqli_query($conn, $sql) or die(mysqli_error($conn)); 
      mysqli_close($conn); 
    } 
?> 
+0

@Marvin沒有'''運行會出現相同的錯誤。 「id」的數據類型當前設置爲int(11)。 –

回答

1

order是一個MySQL關鍵字。以這種方式命名你的桌子並不是一個好主意,但如果你必須這樣做,你應該用反引號(`)來避開它。

你的SQL查詢應該是:

$sql = "DELETE FROM `order` WHERE id = '" . $delete_id . "';"; 

而且你還要使用準備好的語句,否則你的代碼容易受到SQL注入。

+0

upvote提醒'訂單'保留關鍵字 – RomanPerekhrest