簡體   English   中英

無法使用PHP在SQLite3中添加行,未顯示錯誤消息

[英]Can't add rows in SQLite3 with PHP, no error message displayed

我正在使用PHP 5.3.19和SQLite3,但似乎無法使用PHP向我的表添加任何行,而且我也沒有收到任何錯誤消息。 我確實做了一個選擇,但是插入無法正常工作。

碼:

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的其他帖子,尤其是無法通過php 5.3.0寫入SQlite3上的chmod 777數據庫文件 ,但找不到答案。

我有什么想念的嗎?

在此先感謝您的幫助

我想你錯過了什么; 如果您的col2和col3是一個字符串,它應該類似於:

$dbh->exec("INSERT INTO TABLE_NAME (COL1, COL2, COL3) VALUES (null, '$var1', '$var2')");

別忘了您的目錄以及您的數據庫都需要具有寫權限,因為您在Unix或Linux中使用sqlite。 啊...

查詢后[示例: $query = $db->query("INSERT INTO table (column1, column2...) VALUES ('$value1','$value2'...)" )]添加子句“ OR DIE”,其功能為sqlite3的最后錯誤代碼[示例: $db-> LastErrorCode()); ]。 這樣,您將獲得錯誤代碼(如果存在)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM