gpt4 book ai didi

php - PDO 将执行结果返回到数组

转载 作者:行者123 更新时间:2023-12-04 18:18:37 25 4
gpt4 key购买 nike

所以我在一个很可能有一个简单解决方案的问题上撞到了墙上。这是我的代码。

public function login($username, $password){

$sql = "SELECT * FROM users WHERE username = :user AND password = :pass";
$stmt = $this->pdo->prepare($sql);
$data = array('user' => $username, 'pass' => md5($password . $this->salt));
$stmt->execute($data);

$status = $stmt->fetchColumn();
if($status){
echo "You are Logged in!";
print_r($result);
} else {
echo $status;
$this->error['alert'] = "You have not entered the correct login information.";
Users::ErrorReport();
}

}

我想要做的是从该用户行中提取所有数据并将其存储在一个数组中,以便我可以访问它以便将其存储到类变量中。我想做类似的事情
while($row = $stmt->fetchAll()){
$this->username = $row['username'];
}

当我这样做时的问题是我遇到了一百万个令人讨厌的错误并且在搜索网络时找不到任何解决方案。

最佳答案

使用fetch()而不是 fetchAll()

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$this->username = $row['username'];
}

或者,如果您愿意,可以使用 fetchAll()这边走
$result_array = $stmt->fetchAll(PDO::FETCH_ASSOC)

更新:Venu 是对的,如果你只想使用联想,那么使用混合(数字和联想)有点浪费。所以最好使用 PDO::FETCH_ASSOC

关于php - PDO 将执行结果返回到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com