2016-03-13 47 views
-1

我是新的論壇,所以我會盡我所能。 我有一個PHP代碼錯誤,因爲我的服務器主機不支持mysqlnd驅動程序。我知道我必須使用bind_result();但我不知道該怎麼做(我正在學習)。PHP錯誤get_result()undefined方法

請幫幫我!謝謝!

下面的代碼:

/** 
* Storing new user 
* returns user details 
*/ 
public function storeUser($name, $email, $password) { 
    $uuid = uniqid('', true); 
    $hash = $this->hashSSHA($password); 
    $encrypted_password = $hash["encrypted"]; // encrypted password 
    $salt = $hash["salt"]; // salt 

    $stmt = $this->conn->prepare("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at) VALUES(?, ?, ?, ?, ?, NOW())"); 
    $stmt->bind_param("sssss", $uuid, $name, $email, $encrypted_password, $salt); 
    $result = $stmt->execute(); 
    $stmt->close(); 

    // check for successful store 
    if ($result) { 
     $stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?"); 
     $stmt->bind_param("s", $email); 
     $stmt->execute(); 
     // Error here 
     $user = $stmt->get_result()->fetch_assoc(); 
     $stmt->close(); 

     return $user; 
    } else { 
     return false; 
    } 
} 

/** 
* Get user by email and password 
*/ 
public function getUserByEmailAndPassword($email, $password) { 

    $stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?"); 

    $stmt->bind_param("s", $email); 

    if ($stmt->execute()) { 
     // Error here 
     $user = $stmt->get_result()->fetch_assoc(); 
     $stmt->close(); 

     // verifying user password 
     $salt = $user['salt']; 
     $encrypted_password = $user['encrypted_password']; 
     $hash = $this->checkhashSSHA($salt, $password); 
     // check for password equality 
     if ($encrypted_password == $hash) { 
      // user authentication details are correct 
      return $user; 
     } 
    } else { 
     return NULL; 
    } 
} 
+1

'$ stmt->的execute(); $用戶= $ stmt-> get_result() - > fetch_assoc();'將其更改爲'$ result = $ stmt-> execute(); $ user = $ result-> get_result() - > fetch_assoc();' –

回答

0

你以後更換$stmt$resultError here

$result = $stmt->execute(); 
// Error here  $user=$result->get_result()->fetch_assoc(); 
+0

這是Log.d「調用成員函數get_result()在非對象「... 之前」調用未定義的方法mysqli_stmt :: get_result()「... 任何想法? –

相關問題