2012-09-11 51 views
1

有沒有一種方法來模擬MySQL中的失敗INSERT查詢?由於我運行PHP/MySQL的地方,返回值將始終是TRUE。在xampp中轉換MySQL似乎不起作用。模擬一個失敗的MySQL INSERT查詢

注:我看到的可能是這種錯誤的方式。隨時讓我知道。

+2

你可以創建一個測試表,唯一鍵,創建一個有效的記錄,然後插入另一紀錄的關鍵的副本。 –

+2

或嘗試插入不存在的表格。 – andrewsi

+0

我不明白:「返回值」是什麼?這個數值來自哪裏?爲什麼你想模擬一個失敗的插入? – Jocelyn

回答

0

兩個方法:一個

爲您的數據庫用戶
  • 撤銷INSERT權限
  • 包裝你的數據庫訪問代碼到中間層和模擬故障有

或者,如果你只需要測試INSERTS ,創建愚蠢的功能,如:

function my_query($link, string $query) { 
    if(rand() %1) { 
    return false; 
    } else { 
    return mysqli_query($link, $query); 
    } 
} 

and update y我們的代碼插入代替調用my_query。調整你的故障狀態,快樂測試:)

+0

有趣的答案。 * DB訪問代碼到中間層*是什麼意思?我從來沒有聽說過。 – enchance

+0

請先查看已編輯的答案。通過'中間層'我的意思是任何簡單的類,會做數據庫「會談」,所以而不是做'mysqli_connect()'你做'$ db = new MyDatabaseHandler()'(並且它在構造函數中或第一次使用)和而不是做'mysqli_query()'直接你'$ DB->查詢()'等等之一。編寫這樣的類基本上是非常簡單的任務。 –