如何将密码inphp代码放到sqlite?

时间:2017-08-30 14:01:00

标签: php sqlite

我试图使用我在这里找到的一个例子来使用SQLite,但我无法让它工作。我想包括要求数据库密码来解码它。

我收到错误消息:

  

致命错误:未捕获的异常'异常'

使用消息SQLite3::open() expects parameter 2 to be long ...等

<?php
  class MyDB extends SQLite3
   {
      function __construct()
      {
       $this->open('mySQLiteDB.sqlite','','password');
      }
   }
   $db = new MyDB();

   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
$sql =<<<EOF
      SELECT * FROM Stock WHERE Nom='CAF';
EOF;

   $ret = $db->query($sql);
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "Nom = ". $row['Nom'] . "\n";
   }
   echo "Operation done successfully\n";
   $db->close();            
?>

1 个答案:

答案 0 :(得分:3)

错误信息非常清楚。 open() - 方法的第二个参数(flags)必须是整数。您当前正在传递一个空字符串。

变化:

$this->open('mySQLiteDB.sqlite','','password');

使用默认标志:

$this->open('mySQLiteDB.sqlite', SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, 'password');

您可以在the documentation中阅读更多内容。