2014-02-17 113 views
0

在我的數據庫類中,我創建了一個插入函數。當我測試代碼時,沒有數據被放入數據庫。插入數據庫函數

這裏是我使用的代碼:

public function insert() { 
    if (count($fields)) { 
     $keys = array_keys($fields); 
     $values = ''; 
     $x = 1; 
     foreach($fields as $field) { 
      $values .= ', '; 
     } 
     $x++; 
    } 

    $sql = "INSERT INTO {$table} (`". implode('`, `', $keys) . "`) VALUES ({$values})"; 
    if(!$this->query($sql, $fields)->error()) { 
     return TRUE; 
    } 
    return FALSE; 
} 
+0

如果您打印$ SQL語句並在SQL控制檯中手動運行它,會發生什麼情況?你爲什麼用'return FALSE;'來壓制你自己的錯誤報告,而不是打印實際的錯誤? – Ohgodwhy

+2

你從哪裏得到'$ fields'?嘗試打印該值,也許它是空的,因爲您沒有任何賦值。 – Vainglory07

+0

你是不是指'$ this-> fields'?否則,'$ fields'應該作爲函數參數傳入。 –

回答

0

形式的代碼塊:

foreach($fields as $field) { 
     $values .= ', '; 
} 

我覺得$值值將是 ',,,,,' 最後。這是一個有效的價值嗎?