codeigniterアクティブレコードを使用してデータベーステーブルに単一のレコードを追加しようとしています。元のデータはXMLから解析され、データが存在し、それぞれの変数名で正しいことがテストされました。Codeigniterアクティブレコード一重引用符付きのクエリを挿入
データは、このようなビューにコントローラから渡されます。
$data['questionId'] = $question['id'];
$data['answerText'] = $question->answer;
$q = $this->mobile_user_model->save_actual_answers($data);
とモデルの挿入機能は次のようになります。
function save_actual_answers($data) {
$insert = array(
'answerText' => $data['answerText'],
'responseId' => $data['responseId'],
'questionId' => $data['questionId']
);
$q = $this->db->insert('actual_answers', $insert);
return $q;
}
私が午前問題はCodeIgniterのではないということですanswerTextに指定された文字列値に一重引用符を自動的に追加します。私は、関数を実行すると、私はこのエラーを取得:
Error Number: 1054
Unknown column 'Dan' in 'field list'
INSERT INTO `actual_answers` (`answerText`, `responseId`, `questionId`)
VALUES (Dan, 12, 7)
これはanswerTextの値が(この場合の値ダン)単一引用符なしのCodeIgniterで表に入力されるようにしようとしていることを私に伝えます。しかし、私は自分自身を単一引用符をハードコーディングし、そうのように、answerTextデータにそれらを追加した場合:
'answerText' => "'" . $data['answerText'] . "'"
をクエリが正常に動作しますが、単一引用符は、テーブルに文字列を追加し、その内のレコードデータベースは次のようになります。
'Dan' 12 7
誰も前にこの問題に遭遇したか、私は私が見ることのできない大幅何か間違ったことをやっていますか?
Jasonwの提案と本質的に同じではありませんか? – jogojapan
それは同じじゃない? – SheedySheedySheedy
Jasonwの答えが根底にあるように見えますが、Jasonwの答えを受け入れなかったことに気付いただけです。しかし、おそらく私は重要な違いを見逃しています。混乱させて申し訳ありません。 – jogojapan