目前,php還不支援sqlite3,即不支援db3字尾的sqlite資料庫檔案.使用php連線sqlite3時會報錯,以下為乙個解決辦法:
[ 複製引用資料 ]
以下內容為引用內容:
if you get an error message:warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database
then most probably your code is accessing a sqlite3 database.
sqlite_open() only supports sqlite2. use pdo to access sqlite3.
目前找到的解決辦法是使用pdo即可連線sqlite3.這裡也回憶了一下pdo和adodb各是什麼東東.
pdo和adodb均是資料庫抽象層.總的功能是可以實現連線多個資料庫,特別適合乙個程式中實現多個資料庫.
pdo支援資料庫移植,如果你的部署將來有多種資料庫,那就用它了.同時,pdo是c設計的,執行效率較高.他已經封裝為php的擴充套件庫元件了.執行快,效率高,我總結吧,還要安全一些,可以防sql注入,初學,不知道有沒有錯.
adodb是php類,是乙個php檔案,相對pdo來講,執行效率較低,但支援性也較廣泛,使用起來也簡單方便.
據說adodb也支援sqlite,不過,adodb也是基於php元件,那麼肯定也不支援sqlite3了,所以pdo是解決這個問題的唯一辦法.
這裡,表示一下茫然,sqlite3出了有四年了吧,php5幹什麼吃的去了?
pdo_sqlite 函式及語法:
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
啟用pdo和pdo_dqlite以後,我就開始寫一段測試**,拷了乙個任務資料庫到程式目錄中以備測試.
[ 複製引用資料 ]
以下內容為引用內容:
<?$dbh = new pdo('sqlite:spiderresult.db');
if ($dbh)else
foreach ($dbh->query('select id from content limit 10;') as $row)
?>
php封裝db 類連線sqlite3
class dbmanager this db new sqlite3 db.php function init function changes function query sql,param null,memb null else rs stmt execute if rs arr rs fe...
php使用pdo連線sqlite3的配置示例
剛剛開始使用php sqlite 的時候,一直以為自己使用程式設計客棧的是sqlite3 其實不是,php從php5 5.3.0 的時候才開始預設支援sqlite3 可參照官方文件 預設的方法介面 public void sqlite3 open string filename int flags ...
使用sqlite3 模組操作sqlite3資料庫
python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...