簡體   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