2014年5月17日土曜日

PHP Sqlite3 動作しない なぜ

PHP Sqlite3 動作しない


なぜ


Apache/2.2.25 (Win32) PHP/5.4.25

PHP 設定
  extension=php_pdo_sqlite.dll
  extension=php_sqlite3.dll





実行するとエラー出ます。

Fatal error: Call to undefined function sqlite_open() in C:\Apache\htdocs\Sqlite3\test.php on line 2


extension=php_pdo.dll

を有効にすると、Apache を起動する際、Warning PHP Startup メッセージが2回出ますが。
php_pdo.dll が存在しないようです。

PHPマニュアルを見ると
注意:
PHP 5.3 以降ではこのステップは不要です。PDO の DLL は必須ではなくなったからです。





相変わらず
実行するとエラー出ます。

Fatal error: Call to undefined function sqlite_open() in C:\Apache\htdocs\Sqlite3\test.php on line 2



次は

PHP 設定
  sqlite3.extension_dir = "C:\PHP\ext"



相変わらず
実行するとエラー出ます。

Fatal error: Call to undefined function sqlite_open() in C:\Apache\htdocs\Sqlite3\test.php on line 2



何かいい方法がありますか?












<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
    sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
    sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
    $result = sqlite_query($db, 'select bar from foo');
    var_dump(sqlite_fetch_array($result));
} else {
    die($sqliteerror);
}
?>





解決しました?
Class 方法でアクセス出来ました。
PHP は SQLite と SQLite3 両方のマニュアルが存在することですね。

http://jp2.php.net/manual/ja/book.sqlite3.php

<?php
$db 
= new SQLite3('mysqlitedb.db');
$results $db->query('SELECT bar FROM foo');
while (
$row $results->fetchArray()) {
    
var_dump($row);
}
?>






0 件のコメント: