2011-04-28 101 views
3

我想查询一个与PDO SQLite数据库,我似乎无法弄清楚为什么我的查询返回什么......请让我知道我做错了: 这是我的代码:Sqlite与PHP PDO选择查询

<?php 

class MyDB extends SQLite3 
{ 
    function __construct() 
    { 
     $this->open('zap.db'); 
    } 
} 

$dbname = new MyDB(); 
$tablename = "test"; 

error_reporting (E_ALL^E_NOTICE); 

$result = "select user FROM test"; 
echo "here"; 

$row = $dbname->query($result); 

foreach ($dbname->query("$result") as $row) { 
     print $row["user"] . "\n"; 
    } 

?>

+4

您没有使用[PDO](http://nl3.php.net/manual/en/book.pdo.php)。您正在使用[SQLite3扩展名](http://nl3.php.net/manual/en/book.sqlite3.php)。 – 2011-04-28 05:17:08

回答

6

SQLite3::query返回result resource object。您需要使用fetchArray方法就可以从中获得行:

$query = "select user FROM test"; 
echo "here"; 

$result = $dbname->query($query); 

while ($row = $result->fetchArray()) { 
    print $row["user"] . "\n"; 
} 
+0

谢谢老大 - 这工作! – DG1972 2011-04-28 16:33:20

+0

这不使用PDO :( – Akronix 2017-01-20 18:16:25

+0

这个问题也没有,请参阅我对该问题的评论。 – 2017-01-23 09:31:19

0
class MyDB extends SQLite3 
    { 
     function __construct($db_name) 
     { 
      $this->open($db_name.".db"); 
     } 

    } 

$db = new MyDB($user_db); 

$result = $db->query("your query "); 

与我在PHP伟大的工作...... 您必须启用sqlite3的模块版本SQLite库在您的phpinfo文件中...