我试图使用我在这里找到的一个例子来使用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();
?>
答案 0 :(得分:3)
错误信息非常清楚。 open()
- 方法的第二个参数(flags)必须是整数。您当前正在传递一个空字符串。
变化:
$this->open('mySQLiteDB.sqlite','','password');
使用默认标志:
$this->open('mySQLiteDB.sqlite', SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, 'password');
您可以在the documentation中阅读更多内容。