1
此問題與this主題有關。我改變了語法一個建議,所以我的代碼現在看起來像這樣:變量不能傳回數組
方法類:
private $password;
private $user_id;
private $img_thumb;
public function getUserInfo(){
$stmt = $this->dbh->prepare("SELECT user_id FROM oopforum_users WHERE username = ?");
$stmt->bindParam(1, $this->post_data['username']);
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$password = $row['password'];
$user_id = $row['user_id'];
$img_thumb = $row['thumbnail'];
}
return array(
'password' => $this->password,
'id' => $this->user_id,
'thumb' => $this->img_thumb
);
}
調用程序:
session_start();
require_once('init.php');
$username = trim($_POST['username']);
// create a new object
$login = new Auth($_POST, $dbh);
if($login->validateLogin()){
$_SESSION['loggedin'] = true;
$list = $login->getUserInfo();
$_SESSION['password'] = $list['password'];
$_SESSION['id'] = $list['id'];
$_SESSION['thumb'] = $list['img_thumb'];
}
變量沒有出現傳遞迴到調用程序中,我是否錯過了需要明確聲明它們可以傳回的類中的某些內容?
I print_r()
'd $list
數組,它不包含三個變量。
這三個條目確實存在於數據庫中。
我在調用程序中將檢索的數據庫條目返回到數組中時做錯了什麼?
這沒有奏效。 – crm
這個,或者拿出所有'$ this->',因爲我不確定他們是否有必要。 – jedwards
你確定你從查詢中得到一行嗎? – jedwards