2011-04-28 109 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文件中...