【发布时间】:2017-08-18 12:47:11
【问题描述】:
这是一个问题的第一篇文章。试图在这里找到答案,但所有相关帖子似乎都已过时或使用不推荐使用的 mysql。
sqlite 新手,请原谅可能看起来很愚蠢的内容,但下面代码中的查询永远不会起作用。注意:我们在现场使用 php 5.6 运行 sqlite3 和 PDO。 创建数据库的程序运行良好。应用程序“Db Browser for SQL Lite”可以很好地显示数据库、表和数据。但是这个:
<?php
//open the database
$myPDO = new PDO('sqlite:MySqlitedb1');
print "<p>db opened</p>";
$result = $myPDO->query('SELECT * FROM users');
//if the query works
if ($result !== FALSE) {
print "<p>query ran</p>";
foreach($result as $row){
print "<p>".$row."</p>";
}
} else {
// when the query fails
print "<p>query failed</p>";
} //end if
// close the database connection
$myPDO = NULL;
?>
总是导致“查询失败”。对存在的特定记录的查询也会失败。
还使用 fetch 和 fetchall 在上面的代码中尝试了一些其他测试,它们产生了如下错误:
mod_fcgid: stderr: PHP Fatal error: Call to a member function fetchAll()
on boolean in (path emoved)/testpdo2.php on line 27
我确定这是由于查询失败导致 $result 为 null/false 我显然在这里遗漏了一些愚蠢的东西?
乔 C.
【问题讨论】:
-
您如何确保您使用的是正确的目录?