gpt4 book ai didi

php - 在 php 中使用 PDO 时从 mysql 数据库读取数组时出现问题

转载 作者:行者123 更新时间:2023-11-29 23:45:53 25 4
gpt4 key购买 nike

我设置了以下代码,用于根据下面的查询语句中的条件从数据库中读取和输出特定行。然而,当我尝试在控制台中记录输出时,我只能获取一个值,虽然它确实存在于数据库中(作为关键属性),但它每次都来自第一行。我没有得到符合 SQL 标准的行。有什么想法吗?

function getLoginInfo($email,$password){
global $db_user, $db_password, $db_host, $db_name;

if (isValidLogin($email,$password)){
$dbconn = connectToDB($db_user, $db_password, $db_host, $db_name);
$userInfoQuery = $dbconn->prepare("Select * from (Users as U inner join RegisteredUsers as R on U.UID = R.UID) where email = :email");
$userInfoQuery->execute(array(":email"=> 'derp@gmail.com'));
$results = $userInfoQuery->fetch(PDO::FETCH_ASSOC);
echo $results; //will return data in the form ["col1"=>rowdata,"col2"=>rowdata,..."colX"=>rowdata]
}
else{
return false;
}
}

最佳答案

您需要使用循环来获取查询返回的所有行:

while( $results = $userInfoQuery->fetch(PDO::FETCH_ASSOC) ) { 
echo $results;
}

PDOStatement::fetch 函数的文档说该函数“从结果集中获取下一行”,因此它只返回一行。如果 PDOStatement::fetchAll 函数将返回完整的结果集。

关于php - 在 php 中使用 PDO 时从 mysql 数据库读取数组时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25955520/

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