Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将PDO转换为字符串php_Php_Mysql_Pdo - Fatal编程技术网

无法将PDO转换为字符串php

无法将PDO转换为字符串php,php,mysql,pdo,Php,Mysql,Pdo,学习PHP面向对象方法: 将数据库类对象传递给其他类我收到消息“可捕获致命错误:类PDO的对象无法转换为字符串”,同时,如果我注释这行代码,代码工作正常“/$imageobj=new image($dbobj)' 更新:一旦我添加了此行$this->dbconn=nulltogetConnection()函数。一切都很好 index.php 将dbconn分配给空解算: 可捕获的致命错误:类PDO的对象无法转换为字符串。 有什么建议吗? 问题在于: "mysql:host=$this->

学习PHP面向对象方法:

将数据库类对象传递给其他类我收到消息“可捕获致命错误:类PDO的对象无法转换为字符串”,同时,如果我注释这行代码,代码工作正常“
/$imageobj=new image($dbobj)'

更新:一旦我添加了此行
$this->dbconn=nullto
getConnection()
函数。一切都很好

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"