gpt4 book ai didi

php - mysqli_free_result() : Object of class mysqli_result could not be converted to string

转载 作者:行者123 更新时间:2023-11-29 01:00:58 31 4
gpt4 key购买 nike

就我通过 Google 和所有内容进行的搜索而言,这似乎是一个非常普遍的问题,但我似乎无法解决它。另外,我认为我对该功能的用法与其他人略有不同。而且,在大约 3 个小时没有运气之后,我在这里发帖!

function free_result(){                                        # LINE 48
$free = "SELECT SHOW DESCRIBE EXPLAIN"; # LINE 49
$free = explode(" ", $free); # LINE 50
$sql = $this->sql; # LINE 51
while(list($key, $value) = each($free)){ # LINE 52
if(preg_match("/\b".$value."\b/", $sql)){ # LINE 53
$result = $this->result; # LINE 54
if(!mysqli_free_result($result)){ # LINE 55
$this->errors("Invalid result: <b>{$result}</b>. Couldn't free result."); # LINE 56
} # LINE 57
} # LINE 58
} # LINE 59
} # LINE 60
# LINE 61
function query($sql){ # LINE 62
$this->query_id = mysqli_query($this->connection, $sql); # LINE 63
$this->result = mysqli_store_result($this->connection); # LINE 64
$this->sql = $sql; # LINE 65
if(!$this->query_id){ # LINE 66
$this->errors("Couldn't query: <b>{$sql}</b>"); # LINE 67
return 0; # LINE 68
} # LINE 69
$this->affected = mysqli_affected_rows($this->connection); # LINE 70
# LINE 71
return $this->query_id; # LINE 72
} # LINE 73

这些是我的数据库类中的两个函数。但我认为只需要这两个来解决这个问题。

所以,我收到的错误是:

"Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, 
boolean given in [file path]\database.class.php on line 55"
#followed by my database class error handling
"Invalid result: . Couldn't free result."

就我对此的理解而言,我认为问题出在 $result 变量(第 54 行,第 64 行),但因为这是我第一次使用 MySQLi,所以我不太确定。

希望您能理解这个问题并能提供帮助!提前致谢!

最佳答案

mysqli_store_result 在 2 种情况下返回 bool 值:对于更新/插入/删除等查询,它返回 true(并且这些查询可能包含 SELECT/SHOW/DESCRIBE/EXPLAIN 例如在字符串中),或者 SELECT/SHOW/DESCRIBE/EXPLAIN 查询失败。检查 $this->sql 会告诉你是哪个。如果您决心要释放这些结果,那么之前只需对其进行更简单的检查:

 function free_result(){ 
if($this->result instanceof mysqli_result) $this->result->free();
}

关于php - mysqli_free_result() : Object of class mysqli_result could not be converted to string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3261440/

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