获取PHP的SQLite查询结果

时间:2017-03-14 23:25:17

标签: php mysql database sqlite

我正在尝试从我的数据库中获取用户ID,使用下面的查询,将其插入到其他位置。我是php和sql的新手,所以我无法发现错误。我在var_dump()上得到的结果是object(SQLite3Result)#4(0){} - 我只用它进行测试。我尝试使用fetchArray()但它仍然没有给我任何东西。数据库工作正常,我将其用于其他事情。

    require 'database.php';     
    $db = new Database();
    $email = $_POST['member'];
    $list = $db->prepare('SELECT userid FROM users WHERE (email = :email)');
    $list->bindValue(':email', $email, SQLITE3_TEXT);
    $q = $list->execute();

    var_dump($q);

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

以下是您可以做的事情:

<?php

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

$db = new UserDB();
$stmt = $db->prepare('SELECT * FROM users where email = :email');
$stmt->bindValue(':email', 'user1@example.com', SQLITE3_TEXT);
$result = $stmt->execute();
var_dump($result->fetchArray());

然后,您可以使用电子邮件变量更新 bindValue 方法调用。

对于sqlite3 db,我使用以下命令创建它:

$ sqlite3 test.db
CREATE TABLE USERS (
ID INT PRIMARY KEY NOT NULL,
EMAIL TEXT NOT NULL
);
INSERT INTO USERS VALUES(1, 'user1@example.com');
.quit

然后你可以在我的代码中使用它。