Php 打印r和foreach,给出不同的结果
我有一个pdo函数,可以从数据库中获取用户名和用户ID。当我运行该函数时,会得到不同的结果 打印 数组([ID]=>58[username]=>abdullatif) foreach给了我 5-5a-a 数据库中有一行与pdo查询匹配Php 打印r和foreach,给出不同的结果,php,pdo,Php,Pdo,我有一个pdo函数,可以从数据库中获取用户名和用户ID。当我运行该函数时,会得到不同的结果 打印 数组([ID]=>58[username]=>abdullatif) foreach给了我 5-5a-a 数据库中有一行与pdo查询匹配 public function getUserCredentials($userName, $password){ $this->db = new Dbpdo_Database(); $this->db->connect(); try{
public function getUserCredentials($userName, $password){
$this->db = new Dbpdo_Database();
$this->db->connect();
try{
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare("SELECT
ID
FROM
administrators
WHERE
username = :username
AND
user_password = :password
LIMIT 1");
$stmt->bindParam(':username', $userName, PDO::PARAM_STR);
$stmt->bindParam(':password', $password, PDO::PARAM_STR);
}
$stmt->execute();
/*** fetch the results ***/
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $results;
/*** close the database connection ***/
//$dbh = null;
}
catch(PDOException $e){
echo $e->getMessage();
}
}
$results = $mydb->getUserCredentials($userName, $password);
foreach ($results as $row){
echo $row['ID'].'-'.$row['username'];
}
print_r($results);
任何关于问题所在的提示都将不胜感激。提前谢谢 您的
$results
数组是一维的-它有一个ID和一个用户名。您的foreach
正在寻找一个二维数组,每行包含一个ID和一个用户名。将其更改为:
foreach($results as $key => $value) {
echo $key . '-' . $value;
}
你应该得到:
ID-58
username-abdullatif
如果我只需要id的结果,我将如何做?
$results['id']
(如果返回多个匹配行,这可能会发生变化,具体取决于您的脚本)