无法将PDO转换为字符串php
学习PHP面向对象方法: 将数据库类对象传递给其他类我收到消息“可捕获致命错误:类PDO的对象无法转换为字符串”,同时,如果我注释这行代码,代码工作正常“无法将PDO转换为字符串php,php,mysql,pdo,Php,Mysql,Pdo,学习PHP面向对象方法: 将数据库类对象传递给其他类我收到消息“可捕获致命错误:类PDO的对象无法转换为字符串”,同时,如果我注释这行代码,代码工作正常“/$imageobj=new image($dbobj)' 更新:一旦我添加了此行$this->dbconn=nulltogetConnection()函数。一切都很好 index.php 将dbconn分配给空解算: 可捕获的致命错误:类PDO的对象无法转换为字符串。 有什么建议吗? 问题在于: "mysql:host=$this->
/$imageobj=new image($dbobj)代码>'
更新:一旦我添加了此行$this->dbconn=null在尝试{}之前,在db.class.php中使用code>togetConnection()
函数。一切都很好
index.php
将dbconn分配给空解算:
可捕获的致命错误:类PDO的对象无法转换为字符串。
有什么建议吗?
问题在于:
"mysql:host=$this->host;dbname=$this->dbconn"
dbname应该是数据库名称。您提供的属性(在添加$this->dbconn=null之前)不存在,因此会出现错误
添加$this->dbconn=null可以防止对不存在的属性执行致命错误,但您仍然提供了一个空的数据库名称
您应该用$this->dbname替换它来修复它,如下所示:
"mysql:host=$this->host;dbname=$this->dbname"
显示图像类的代码-似乎image
的构造函数只接受字符串,但您正在传递一个完整的db
objectclass图像{private$table\u name='product\u images';private$dbconn;public$id;public$name;public function\u构造($dbobj){$this->dbconn=$dbobj->getConnection();}}}那个愚蠢的错误让人觉得很愚蠢:/。谢谢@Erik。
class image {
private $table_name = 'product_images';
private $dbconn;
public $id;
public $name;
public function __construct($dbobj) {
$this->dbconn = $dbobj->getConnection();
}}
"mysql:host=$this->host;dbname=$this->dbconn"
"mysql:host=$this->host;dbname=$this->dbname"