2017-09-23 105 views
1

我正在創建一個使用PHP PDO將數據插入數據庫的動態函數。爲什麼我得到的綁定變量數量與令牌數量錯誤消息不匹配?

以下是Database類中的函數。

public function insert ($table, $feilds = array()) { 

    $key = array_keys($feilds); 
    $column = implode(',', $key); 

    $ques = array(); 

    foreach ($feilds as $value) { 
     $ques[] = " ?"; 
    } 

    $ques = implode(', ', $ques); 

    $stmt = $this->_pdo->prepare("INSERT INTO $table($column) VALUES ($ques)"); 

    $x=1;  
    foreach ($feilds as $key => $value) { 
     $stmt->bindParam($x, $var); 
     $var = $value; 
     $stmt->execute();   
     $x++; 
    }  
} 

我插入數據是這樣的:

$data = array(
    'b_title' => 'My blog title', 
    'b_des'  => 'My blog description', 
); 
$database->insert('blog', $data); 

但是當我運行此查詢它的說法

非法參數編號:綁定變量的數量不符 數令牌

我不明白在哪裏綁定變量和標記不匹配!我該如何解決它?

謝謝。

回答

相關問題