2016-07-07 11 views
0

insert関数の列名を取得CodeIgniterのできない:私は私のコントローラで、以下のいる

私はそうのように私のモデルの機能に渡してい
$client_data = array(
    $client_id = null, 
    $client_name = $this->input->post('client_name'), 
    $client_contact = $this->input->post('client_contact'), 
    $client_phone = $this->input->post('client_phone') 
); 

:私の知る限りはできる限り

public function add_client($client_data) { 
    $this->db->insert('clients', $client_data); 
} 

私はすべて正しく行っているが、CodeIgniterはこのエラーをスローするので、テーブルの列名を読み取ることができません。

Error Number: 1064 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0, 1, 2, 3) VALUES (NULL, 'Test Client', '' at line 1 

INSERT INTO `clients` (0, 1, 2, 3) VALUES (NULL, 'Test Client', 'Test Person', '123486') 

Filename: C:/wamp64/www/foobar/system/database/DB_driver.php 

Line Number: 691 

私はすでに自分のデータベースとdbヘルパーを読み込んでいます。私のテーブル構造は以下の通りです:client_id, client_name, client_person, client_phone。私は何が欠けていますか?

+1

印刷 '$のclient_data'.whatが出力されますか? –

+0

クエリNSERT INTO 'clients'(0、1、2、3).....がPhpMyAdminで動作していますか? – AkshayP

+0

@Satyが私の列名を追加しました。これは正しい列名ではないため、クエリは機能しません。 – AliIshaq

答えて

4

これにあなたの配列を交換してみてください。

$client_data = array(
    'client_id' => null, 
    'client_name' => $this->input->post('client_name'), 
    'client_contact' => $this->input->post('client_contact'), 
    'client_phone' => $this->input->post('client_phone') 
); 
+0

を渡す必要があります。これはそれだった。構文ミスです。指摘していただきありがとうございます。 – AliIshaq

+0

@AliIshaqご参考までに)問題を解決済みとしてマークすることを忘れないでください)) – IceJOKER

関連する問題