PHP不能串連Sqlite3的解決辦法

來源:互聯網
上載者:User
目前,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 databasethen 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的,以及PDO與SQLite的串連方法:PDO:http://pecl.php.net/package/pdoPDO_Sqlite 函數及文法:http://cn.php.net/manual/en/ref.pdo-sqlite.php下載以後並行安裝就可以了,PHP5.1已經內建了PDO的相關組件,我們要做的就是開啟PHP.ini把PDO和PDO_sqlite啟用了extension=php_pdo.dllextension=php_pdo_sqlite.dll啟用PDO和PDO_dqlite以後,我就開始寫一段測試代碼,拷了一個任務資料庫到程式目錄中以備測試.[ 複製引用資料 ]以下內容為引用內容:  

<?$dbh = new PDO('sqlite:spiderresult.db');if ($dbh){echo 'OK';}else{echo 'Err';}foreach ($dbh->query('SELECT id FROM content limit 10;') as $row){echo "$row[0]";}?>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.