繁体   English   中英

致命错误:未捕获的 PDOException:SQLSTATE[HY000]:一般错误

[英]Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error

当我尝试创建插入查询时发生此错误

致命错误:未捕获的 PDOException:SQLSTATE[HY000]:E:\xammp\htdocs\school\private\core\database.php:29 堆栈跟踪:#0 E:\xammp\htdocs\school\private\core\ 中的一般错误database.php(29): PDOStatement->fetchAll(5) #1 E:\xammp\htdocs\school\private\core\model.php(40): Database->query('插入使用...',数组)#2 E:\xammp\htdocs\school\private\controllers\Home.php(18): 模型->插入(数组)#3 E:\xammp\htdocs\school\private\core\app.php( 33): Home->index() #4 E:\xammp\htdocs\school\public\index.php(6): App->__construct() #5 {main} 在 E:\xammp\htdocs\school 中抛出\private\core\database.php 在第 29 行

这是查询

public function query($query, $data = array(),$data_type = "object"){
  

        $con = $this -> connect();
        $stm = $con->prepare($query);  

        if($stm){
            $check = $stm -> execute($data);//check if the statment excuted or it went well
            if($check){
               if ($data_type == "object") {
                    $data = $stm->fetchAll(PDO::FETCH_OBJ);
               }else{
                    $data = $stm->fetchAll(PDO::FETCH_ASSOC);   
               }
               if(is_array($data) && count($data)){
                print_r($data);
               }
            }
        }

        return false;
    }

这是插入方法

public function insert($data)
{
    $keys = array_keys($data);
    $columns = implode(',', $keys);
    $values = implode(',:', $keys);

    $query = "insert into $this->table ($columns) values (:$values)";

    return $this -> query($query,$data);
    //insert to the table
}

INSERT 查询不会生成任何可获取的内容。 正如您所观察到的,当您尝试从包含 INSERT 的语句中使用.fetchAll()时,PDO gacks(gacks === 抛出一个模糊的异常)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM