我正在使用PHP 5.3.19和SQLite3,我似乎無法添加任何行到我的表使用PHP,我沒有得到任何錯誤消息。我確實設法做了選擇,但INSERTS不起作用。無法在PHP中添加SQLite3行,沒有顯示錯誤消息
代碼:
try {
$dbh = new PDO("sqlite:database.db");
$dbh->exec("INSERT INTO TABLE_NAME (COL1, COL2, COL3) VALUES (null, $var1, $var2)");
echo "Row added";
}
catch(PDOException $e) {
echo $e->getMessage();
echo "<br><br>Database <b>NOT</b> loaded successfully. ";
die("<br><br>Query Closed! $error");
}
這個執行沒有任何錯誤消息,但該條目不會保存。
該目錄由webservd擁有,可由webservd寫入,所以我真的不知道問題出在哪裏。當我通過CLI運行一個PHP腳本時,它也不會執行任何操作,但是如果我嘗試手動輸入這些行,它確實可行。
我查了一下關於PHP和SQLite3的其他帖子,尤其是Unable to write to a chmod 777 database file on SQlite3 via php 5.3.0,但是找不到答案。
我錯過了什麼?
在此先感謝您的幫助
爲什麼不在異常模式下設置PDO並在插入失敗時捕獲異常?另外,exec()返回受影響的行數。你爲什麼不檢查那個號碼?捕捉異常會告訴你哪裏出錯了。正如CodeSlayer在他的回答中提到的 - 您沒有引用插入的值。 –
我把它放在異常模式,但它不會拋出任何東西。 – Cristina
您發佈的代碼不是您如何在異常模式下設置PDO。你現在的另一個問題是你很容易發生SQL注入。你接受這些變量作爲用戶輸入還是什麼? –