2015-03-17 5 views
0

При попытке использовать хранимую процедуру для регистрации пользователя я сталкиваюсь с приведенной ниже ошибкой.
Любая помощь с благодарностью.Ошибка хранимой процедуры laravel

Error: SQLSTATE[42000]: Syntax error or access violation: 1318 Incorrect number of arguments for PROCEDURE tls_db.insert_customer; expected 7, got 0 (SQL: call insert_customer)

controller 
    $user = array(
       'email' => Input::get('email'), 
       'password' => Input::get('password'), 
       'username' => Input::get('username'), 
       'PhoneNumber' => Input::get('PhoneNumber'), 
       'CustomerName' => Input::get('CustomerName'), 
       'CustomerSurname' => Input::get('CustomerSurname'), 
       'CustomerAddress' => Input::get('CustomerAddress')); 
       $data = new user($user); 
       $data->save(); 
       user::storedProcedureInsert_customer(); 
       return Redirect::to('/'); 
model 
    public static function storedProcedureInsert_customer() { 
     return DB::statement('call insert_customer'); 
    } 
+0

Исправлены некоторые незначительные грамматические и форматирования –

ответ

0

Ваша insert_customer процедура ожидает семь аргументов, но вы не предоставили никаких.

Ты лучше с вызовом его параметризованном заявление, например, так:

DB::statement('call insert_customer(?, ?, ?, ?, ?, ?, ?)', [Input::get('email'), Input::get('password'), Input::get('PhoneNumber'), Input::get('CustomerName'), Input::get('CustomerSurname'), Input::get('CustomerAddress')]);

+0

так вы говорите, его Мента быть как этот DB :: заявление (» звоните insert_customer (адрес электронной почты, пароль, PhoneNumber, CUSTOMERNAME, CustomerSurname, CustomerAddress, имя пользователя)», \t \t \t \t [ \t \t \t \t Input :: получить ('E-mail'), \t \t \t \t Input :: получить ('Пароль'), \t \t \t \t Input :: получить ('PHONENUMBER'), \t \t \t \t Input :: получить ('CustomerName'), \t \t \t \t Input :: получить ('CustomerSurname'), \t \t \t \t Input :: получить ('Имя пользователя'), \t \t \t \t Input :: получить ('Cust omerAddress')]); потому что я получаю эту ошибку сейчас – user4543690

+0

SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'email' в 'списке полей' (SQL: call insert_customer (адрес электронной почты, пароль, PhoneNumber, CustomerName, CustomerSurname, CustomerAddress, имя пользователя)) – user4543690

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