Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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
Php 获得;可捕获致命错误:类PDOStatement的对象无法转换为字符串;尝试将数据插入数据库时_Php_Database_Oop_Pdo - Fatal编程技术网

Php 获得;可捕获致命错误:类PDOStatement的对象无法转换为字符串;尝试将数据插入数据库时

Php 获得;可捕获致命错误:类PDOStatement的对象无法转换为字符串;尝试将数据插入数据库时,php,database,oop,pdo,Php,Database,Oop,Pdo,我只是不知道为什么我会犯这样的错误。专家,请帮帮我。我在谷歌上搜索了一下,也看到了类似的问题,但我不知道我的代码到底出了什么问题——我在这里变得无能为力 我的代码snippest如下所示: 数据库: 型号: <?php /** * Base Model Class */ class Model { function __construct() { $this->db = new Database(DB_TYPE,DB_HOST,DB_NAME,DB

我只是不知道为什么我会犯这样的错误。专家,请帮帮我。我在谷歌上搜索了一下,也看到了类似的问题,但我不知道我的代码到底出了什么问题——我在这里变得无能为力

我的代码snippest如下所示:

数据库:

型号:

<?php

/**
* Base Model Class
*/
class Model
{
    function __construct()
    {
        $this->db = new Database(DB_TYPE,DB_HOST,DB_NAME,DB_USER,DB_PASS);
    }
}

你应该谈谈你试图做些什么来修正问题中的错误。此外,您可以考虑将错误移动到问题的正文中,并具有更简洁的标题。我在您的代码>注册< /代码>中没有看到您的连接变量。函数标记了PDO,但您确信您没有使用MySQL,因为MySQL不支持命名占位符。当ECHO准备()语句时,我得到了错误。我不知道我为什么会犯这个错误@是的,我没有使用mysqli,而是使用PDO
<?php

/**
* Base Model Class
*/
class Model
{
    function __construct()
    {
        $this->db = new Database(DB_TYPE,DB_HOST,DB_NAME,DB_USER,DB_PASS);
    }
}
<?php

/**
* Auth Controller
*/
class RegistrationController extends Controller
{

    function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        $this->view->render('registration');
    }

    public function registration()
    {
        $data = array();

        $data['username'] = $_POST['username'];
        $data['email'] = $_POST['email'];
        $data['contact'] = $_POST['contact'];
        $data['password'] = Hash::create('md5', $_POST['password'], HASH_PASSWORD_KEY);

        $this->model->registration($data);
    }

}
class Registration extends Model
{

    function __construct()
    {
        parent::__construct();
    }

    public function registration($data)
    {
        $sql = $this->db->prepare("INSERT INTO users (username, email, contact ,password) VALUES (:username, :email, :contact, :password)");
        $sql->execute(array(
            ':username' => $data['username'],
            ':email' => $data['email'],
            ':contact' => $data['contact'],
            ':password' => $data['password']
            ));
    }
}