2014-02-17 4 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 .= ', '; 
} 

Я думаю, что значение $ значения будут ',,,,,' наконец. Это допустимое значение?

Смежные вопросы