gpt4 book ai didi

PHP 不完整类 OOP

转载 作者:行者123 更新时间:2023-11-30 23:09:41 25 4
gpt4 key购买 nike

你好,我有这个代码

public function query($sql, $params = array()) {

$this->_error = false;

if($this->_query = $this->_pdo->prepare($sql)) {
$x = 1;
if(count($params)) {
foreach($params as $param) {
$this->_query->bindValue($x, $param);
$x++;
}
}

if($this->_query->execute()) {
$this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
$this->_count = $this->_query->rowCount();
} else {
$this->_error = true;
}
}

return $this;
}

当我运行它时,它说我的行有错误

$this->_query->bindValue($x, $param);

错误信息说可捕获的 fatal error :类 __PHP_Incomplete_Class 的对象无法转换为字符串请帮忙谢谢

编辑

$params 的 var_dump

array(1) { 
[0]=> object(__PHP_Incomplete_Class)#1 (6) {
["__PHP_Incomplete_Class_Name"]=> string(4)
"User" ["_db":"User":private]=> object(__PHP_Incomplete_Class)#2 (2) {
["__PHP_Incomplete_Class_Name"]=> string(2) "DB"
["connection"]=> NULL
}
["_sessionName":"User":private]=> string(4) "user"
["_cookieName":"User":private]=> string(4) "hash"
["_data":"User":private]=> object(stdClass)#3 (7) {
["id"]=> string(3) "144"
["username"]=> string(5) "admin"
["password"]=> string(64) "0611affa6664e471b939cd3197b49e0c3b47d146fc12a472c4275dbd85a7cd67"
["salt"]=> string(32) "458a0dbfbd9bdca381e50b8d753329ea"
["name"]=> string(12) "Artur Papyan"
["joined"]=> string(19) "2013-11-29 07:41:54"
["group"]=> string(1) "1"
}
["_isLoggedIn":"User":private]=> bool(true)
}
}

最佳答案

错误说得很清楚:$params 至少包含一个 __PHP_Incomplete_Class 对象,显然不能将其转换为字符串来填充您的查询。

您获得 __PHP_Incomplete_Class 对象的原因是由于 session 存储对象的反序列化,该类之前未加载。所以你必须在 session 开始之前包含你的 session 存储类。如果您需要我的建议,自动加载是加载类的最佳方式,因此您可以完全忘记 include/require 语句。您可以在此处找到更多信息:http://www.php.net/manual/en/language.oop5.autoload.php

关于PHP 不完整类 OOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20399376/

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