2011-06-27 34 views
0

如何將以下故障:PHP sqlite3Result

$stmt = $db->prepare("INSERT INTO sometable VALUES ('SOMETHING')"); 
$result = $stmt->execute(); 

會是一個什麼之情況時:!$result == true

回答

0
  1. 數據庫文件未打開或不可寫入。
  2. sometable不存在。
  3. A conflict發生。
+0

如果某些表不存在,它會失敗,並警告+致命錯誤。儘管如此,數據庫不可寫入,但應該在'open',idk關於衝突出錯。 – Pwnna

+0

如果缺少一個表導致致命錯誤(即PHP腳本中止),這是sqlite3擴展設計中的一個缺陷。數據庫可能在'open'上是可寫的,但在腳本執行過程中可能會改變(不一定是腳本本身,請參見[使用時間檢查時間]](http:// en。 wikipedia.org/wiki/Time-of-check-to-time-of-use))。 – Oswald