gpt4 book ai didi

Php get_result() 和 fetch_assoc() 替代方案

转载 作者:行者123 更新时间:2023-11-30 22:30:40 28 4
gpt4 key购买 nike

我正在编写一个 PHP 后端程序,但我的程序无法运行,因为 PHP 不支持 get_result()fetch_assoc() 函数。

我怎样才能重写代码,使它们能像这个函数一样工作?

public function storeUser($userLoginID, $password) {                        

$uuid = uniqid('', true);
$hash = $this->hashSSHA($password);
$encrypted_password = $hash["encrypted"];
$salt = $hash["salt"];
$stmt = $this->conn->prepare("INSERT INTO hkcheung.users(unique_id,userLoginID,encrypted_password,salt,created_at) VALUES (?,?,?,?,NOW())");
$stmt->bind_param("ssss", $uuid, $userLoginID, $encrypted_password, $salt);
$result = $stmt->execute();
$stmt->close();
if ($result) {
$stmt = $this->conn->prepare("SELECT * FROM hkcheung.users WHERE userLoginID=?");
$stmt->bind_param("s", $userLoginID);
$stmt->execute();
$result = $stmt->get_result();
$users = $result->fetch_assoc();
$stmt->close();
return $users;
} else {
return false;
}
}

最佳答案

将下面的函数添加到你的 php 文件中

function get_result( $Statement ) {
$RESULT = array();
$Statement->store_result();
for ( $i = 0; $i < $Statement->num_rows; $i++ ) {
$Metadata = $Statement->result_metadata();
$PARAMS = array();
while ( $Field = $Metadata->fetch_field() ) {
$PARAMS[] = &$RESULT[ $i ][ $Field->name ];
}
call_user_func_array( array( $Statement, 'bind_result' ), $PARAMS );
$Statement->fetch();
}
return $RESULT;
}

并在 get_result 行,将其更改为

$result =  $this->get_result($stmt);

关于Php get_result() 和 fetch_assoc() 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33972530/

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