2015-01-30 3 views
-1

я новичок в php OOP Я попытался создать функцию в php для вставки данных в базу данных, но ее не работает, пожалуйста, помогите.oop php простая функция для вставки данных в базу данных mysql с использованием PDO

моя функция:

public function insert($table, $fields = array(), $values = array()) { 
    $sql = " INSERT INTO{$table}($fields) VALUES($values)"; 
    $this->_pdo->prepare ($sql); 
    return $this->_pdo->exec ($sql); 
} 
+1

'$ fields' является массивом, а не взрывать его – Rizier123

+0

@ Rizier123 не забудьте' $ values' а ;-) – Darren

ответ

1

Вот рабочая функция ООП PHP Insert, это должно быть легко понять, но если вы не спросите.

public function insert($table, $fields = array()) { 
     $keys = array_keys($fields); 
     $values = null; 
     $x  = 1; 

     foreach($fields as $value) { 
      $values .= "?"; 
      if($x < count($fields)) { 
       $values .= ', '; 
      } 
      $x++; 
     } 

     $sql = "INSERT INTO {$table} (`" . implode('`, `', $keys) . "`) VALUES ({$values})"; 

     if(!$this->query($sql, $fields)->error()) { 
      return true; 
     } 

     return false; 
    } 
+0

спасибо мужчинам, и есть способ, что я могу сделать функция иметь оператор возврата в качестве моей функции выше? –

+0

Функция возвращает true, если она сработала, если она не вернула false – ALeifsson

+0

Я изменил приведенную выше функцию на: –

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