我正在登录并注册android项目。我为这个PHP错误尝试了不同的解决方案,但它们都没有帮助我。
我收到此错误:
调用未定义的方法mysqli_stmt :: get_result()in ... on line 59
第59行是:$user = $stmt->get_result()->fetch_assoc();
我读过如果我没有驱动程序,我应该使用 bind & 获取代替,但我无法弄清楚如何。
我的功能:
public function getUserByEmailAndPassword($email, $password) {
$stmt = $this->conn->prepare("SELECT * FROM seemidavajaon WHERE email = ?");
$stmt->bind_param("s", $email);
if ($stmt->execute()) {
$user = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $user;
} else {
return NULL;
}
}
答案 0 :(得分:0)
经过一天的捣乱,我终于做对了。
public function getUserByEmailAndPassword($email, $password) {
$stmt = $this->conn->prepare("SELECT * FROM seemidavajaon WHERE email = ?");
$stmt->bind_param('s', $email);
if ($stmt->execute()) {
$user = $this->funktsioon( $stmt );
$stmt = NULL;
return $user;
} else {
return NULL;
}
}
使用名为“funktsioon”的功能
public function funktsioon( $stmt ) {
$RESULT = array();
$stmt->store_result();
for ( $i = 0; $i < $stmt->num_rows; $i++ ) {
$Metadata = $stmt->result_metadata();
$PARAMS = array();
while ( $Field = $Metadata->fetch_field() ) {
$PARAMS[] = &$RESULT[ $i ][ $Field->name ];
}
call_user_func_array( array( $stmt, 'bind_result' ), $PARAMS );
$stmt->fetch();
}
return $RESULT;
}
虽然它没有检查密码是否正确,所以这是一个新问题。