我正在尝试使用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
变量并从中获取数据。我需要能够阅读电子邮件和密码一栏。
这是怎么回事?
发布于 2013-05-31 06:05:42
PDOStatement::fetch从结果集中返回一行。参数PDO::FETCH_ASSOC
告诉PDO以关联数组的形式返回结果。
数组键将与您的列名相匹配。如果您的表包含'email‘和'password’列,则数组的结构如下:
Array
(
[email] => 'youremail@yourhost.com'
[password] => 'yourpassword'
)
要从“email”列中读取数据,请执行以下操作:
$user['email'];
而对于'password':
$user['password'];
发布于 2013-05-31 21:39:10
像任何其他关联数组一样遍历数组:
while($data = $datas->fetch(PDO::FETCH_ASSOC)){
print $data['title'] . '<br>';
}
或
$resultset = $datas->fetchALL(PDO::FETCH_ASSOC);
echo '<pre>' . $resultset . '</pre>';
发布于 2013-05-31 06:06:40
PDO:FETCH_ASSOC
将结果放在一个数组中,其中的值映射到它们的字段名。
您可以像这样访问name
字段:$user['name']
。
我推荐使用PDO::FETCH_OBJ
。它获取对象中的字段,您可以像这样访问:$user->name
https://stackoverflow.com/questions/16846531
复制相似问题