如何阅读“fetch(PDO::FETCH_ASSOC);”

2022-08-30 14:25:05

我正在尝试使用PHP构建Web应用程序,并且我正在使用Memcached来存储数据库中的用户数据。

例如,假设我有以下代码:

 $sql    = "SELECT * FROM users WHERE user_id = :user_id";
$stmt   = $this->_db->prepare($sql);
$result = $stmt->execute(array(":user_id" => $user_id));
$user   = $stmt->fetch(PDO::FETCH_ASSOC);

我真的不确定如何读取变量并从中获取数据。我需要能够阅读电子邮件和密码列。$user

这是如何工作的?


答案 1

PDOStatement::fetch 从结果集中返回一行。参数 PDO::FETCH_ASSOC告诉 PDO 将结果作为关联数组返回。

数组键将与您的列名称匹配。如果您的表包含“电子邮件”和“密码”列,则数组的结构将如下所示:

Array
(
    [email] => 'youremail@yourhost.com'
    [password] => 'yourpassword'
)

要从“电子邮件”列中读取数据,请执行以下操作:

$user['email'];

对于“密码”:

$user['password'];

答案 2

像循环使用任何其他关联数组一样遍历数组:

while($data = $datas->fetch(PDO::FETCH_ASSOC)){
    print $data['title'] . '<br>';
}

$resultset = $datas->fetchALL(PDO::FETCH_ASSOC);

echo '<pre>' . $resultset . '</pre>';

推荐