我正在尝试使用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);
Run Code Online (Sandbox Code Playgroud)
我不确定如何读取$user变量并从中获取数据.我需要能够阅读电子邮件和密码列.
我希望有人能向我解释这是如何运作的.
谢谢
Geo*_*ins 39
PDOStatement :: fetch从结果集中返回一行.该参数PDO::FETCH_ASSOC告诉PDO将结果作为关联数组返回.
数组键将匹配您的列名称.如果您的表包含"email"和"password"列,则数组结构如下:
Array
(
[email] => 'youremail@yourhost.com'
[password] => 'yourpassword'
)
Run Code Online (Sandbox Code Playgroud)
要从"电子邮件"列中读取数据,请执行以下操作:
$user['email'];
Run Code Online (Sandbox Code Playgroud)
并为'密码':
$user['password'];
Run Code Online (Sandbox Code Playgroud)
Ben*_*cot 13
像任何其他关联数组一样循环遍历数组:
while($data = $datas->fetch( PDO::FETCH_ASSOC )){
print $data['title'].'<br>';
}
Run Code Online (Sandbox Code Playgroud)
要么
$resultset = $datas->fetchALL(PDO::FETCH_ASSOC);
echo '<pre>'.$resultset.'</pre>';
Run Code Online (Sandbox Code Playgroud)
小智 8
方法
$user = $stmt->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
返回一个字典。您可以简单地获取电子邮件和密码:
$email = $user['email'];
$password = $user['password'];
Run Code Online (Sandbox Code Playgroud)
其他方法
$users = $stmt->fetchall(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
返回一个列表一个的字典