首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何阅读"fetch(PDO::FETCH_ASSOC);“

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

Stack Overflow用户
提问于 2013-05-31 05:59:07
回答 5查看 198.2K关注 0票数 30

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

例如,假设我有这样的代码:

代码语言:javascript
复制
 $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变量并从中获取数据。我需要能够阅读电子邮件和密码一栏。

这是怎么回事?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-31 06:05:42

PDOStatement::fetch从结果集中返回一行。参数PDO::FETCH_ASSOC告诉PDO以关联数组的形式返回结果。

数组键将与您的列名相匹配。如果您的表包含'email‘和'password’列,则数组的结构如下:

代码语言:javascript
复制
Array
(
    [email] => 'youremail@yourhost.com'
    [password] => 'yourpassword'
)

要从“email”列中读取数据,请执行以下操作:

代码语言:javascript
复制
$user['email'];

而对于'password':

代码语言:javascript
复制
$user['password'];
票数 53
EN

Stack Overflow用户

发布于 2013-05-31 21:39:10

像任何其他关联数组一样遍历数组:

代码语言:javascript
复制
while($data = $datas->fetch(PDO::FETCH_ASSOC)){
    print $data['title'] . '<br>';
}

代码语言:javascript
复制
$resultset = $datas->fetchALL(PDO::FETCH_ASSOC);

echo '<pre>' . $resultset . '</pre>';
票数 16
EN

Stack Overflow用户

发布于 2013-05-31 06:06:40

PDO:FETCH_ASSOC将结果放在一个数组中,其中的值映射到它们的字段名。

您可以像这样访问name字段:$user['name']

我推荐使用PDO::FETCH_OBJ。它获取对象中的字段,您可以像这样访问:$user->name

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16846531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档