2013-09-11 7 views
-2

Привет Я использую объект PDO обручаPDO Метод некоторые проблемы с моим кодом

https://github.com/Xeoncross/DByte/blob/master/example.php 

возникли некоторые проблемы с функциями обновления. Это их определенная функция для обновления

static function update($table, $data, $value, $column) 
{ 
    $keys = implode('`=?,`', array_keys($data)); 
    if($statement = DB::query(
     "UPDATE`$table`SET`$keys`=? WHERE`$column`=?", 
     array_values($data + array($value)) 
    )) 
     return $statement->rowCount(); 
} 

Моя функция обновления

public function update_users($user_id, $user_name, $user_email, $user_role, $user_phone){ 

     $user_data = array(
     'user_name' => $user_name, 
     'user_email' => $user_email, 
     'user_pass' => $user_pass, 
     'user_role' => $user_role, 
     'user_phone' => $user_phone, 
     ); 


     $result = DB::update('users', $user_data, $user_id); 



} 

Это не работает ошибка я получаю,

Warning: Missing argument 4 for DB::update(), called in \XXXClass.php on line 47 and defined in XXXX\Application\inc\DB.php on line 120 
+3

Ну, 'DB :: update' требует 4 параметра, и вы передаете это 3. Я не вижу, что это так сложно понять. – crush

+0

не могли бы вы сообщить мне, что мне нужно передать в качестве третьего параметра? я немного смущен .. – Banna360

+0

Вам нужно передать имя столбца для значения ... 'update ($ table, $ data, $ value, $ column)' – crush

ответ

0

Вам необходимо пройти в колонке имя (4-й аргумент метода):

$result = DB::update('users', $user_data, $user_id, 'user_id'); // I presume `user_id` is the name of that column 

Также оно не помешает поместить пробелы между ключевыми словами SQL и имена столбцов/таблиц:

"UPDATE `$table` SET `$keys`=? WHERE `$column`=?" 
+0

его работы я изучаю и делаю небольшое приложение CRM;) – Banna360

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