我正在尝试从我的数据库中获取用户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);
感谢您的帮助!
答案 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
然后你可以在我的代码中使用它。