[PHP+SQLite] PDOを使わないとSQLite3系に接続できない

SQLite Database Browserをつかって、ダミーデータをつくり

さぁ、PHPでデータベースに接続しようと思ったら・・・・

Warning: sqlite_open(): file is encrypted or is not a database in test2.php on line 8 接続失敗です。

file is encrypted or is not a database ・・・

ん?いろいろ苦戦1時間、どうもPDO経由でないと、接続できない・・・

まぁ、PHPでのDB処理はPDOが推奨されているようなので、PDOのサンプルをさがす

http://blog.doli.jp/blog/2013/post783/ http://www.phpbook.jp/tutorial/pdo/

http://log.noiretaya.com/38

あたりをパクリながら

<html>
<head><title>PHP TEST</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>

<?php

    try {
      $db = new PDO('sqlite:test.db');
      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
      die ('Connection failed : '.$e->getMessage());
    }
    
    try {
      $sql = 'select * from data order by SCORE DESC;';
      $stmt = $db->query($sql);
      
      while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
        print($result['SCORE'] .',' );
        print($result['UDID'].',');
        print($result['NAME'].'<br>');
      }
      
    } catch (PDOException $e) {
      $err = $db->errorInfo();
      die ($err[2]);
    }
    
    unset($db);

?>
</body>
</html>

で、アクセスできるようになった・・・。