フォームのフィールドからmysqlテーブルにデータを挿入しようとしています。フィールドは動的に割り当てられます。つまり、プログラムで名前が設定されます。以下の私のモデルでは、このMySQLデータベースへの値の投稿
<?php for ($i=1; $i<=$nombre_parents_arr; $i++): ?>
<div class="form-group">
<?php echo form_label('Nom' . " " . $i) ; ?>
<?php
$data = array(
'class' => 'form-control',
'name' => 'nom' . $i,
'rows' => '3',
'placeholder' => 'Merci de preciser les infos ici'
);
?>
<?php echo form_textarea($data); ?>
</div>
のサンプルですが、私はポストを取得し、データベースに格納する必要があります。私は次のことをしました
私のフォームでsubmitをクリックすると、ブラウザに次のエラーが表示されます。
エラー番号:1064
あなたのSQL構文でエラーが発生しています。 > 0、1、2)の近くで使用する正しい構文については、> MySQLサーバのバージョンに対応するマニュアルをチェックしてください。1行目のVALUES( '42'、 'samer1'、 'samer2'、 'samer3') '
temp
(user_id
、0、1、2)VALUES( '42'、 'samer1'、 'samer2'、> 'samer3')
私はuser_idのために私のテーブルの列の名前を変更し、0 INTO
INSERT、 1と2はクエリで生成されていますが、まだ動作していません。
私の推測では、それが正しい列の名前を知らないに関係しているということですので、私は、forループ
'nom' . $i => $this->input->post('nom' . $i);
内の私のモデルでこれをやったが、私は、MySQLから同じエラーを保ちました。私の間違いがどこにあるのか誰かが私に手がかりを与えることができますか?
おかげ
数字で始まる列名、またはバッククォートで数字をエスケープする必要があります。 '> 'samer1''とは何ですか? –
私はそれに感謝します。 samer1の前に>のように、それは私が質問のテキストをフォーマットしたときにちょうどタイプミスです:) – samerc