たくさんのフィールドを持つフォームがあります。ユーザーは、一重引用符を含む情報や説明を提供することがあります。
Jquery と CI を使用してデータを検証しています。問題は、明らかに ActiveRecord が一重引用符をエスケープしていないため、データの挿入/更新でエラーが発生することです。
ActiveRecord はこれらの文字を自動的にエスケープするはずではありませんか? そうでない場合、ユーザー入力で一重引用符を処理する通常の方法は何ですか?
挿入を処理するモデル関数のコード例:
public function setLicense($dataArray, $data_id="")
{
$iRows = 0; // Rows found.
$DB = $this->load->database('some_database',TRUE,TRUE);
//var_dump($dataArray);
if(empty($dataArray))
return(FALSE);
if(!empty($data_id))
{
$DB->where('idx',$data_id);
$iRows=$DB->count_all_results('some_table');
}
else
{
if(isset($LicenseData['idx']))
{
$license = $LicenseData['idx'];
$DB->where('idx',$license);
$iRows=$DB->count_all_results('some_table');
}
}
if(!$iRows)
$DB->insert('some_table',$dataArray);
else
{
$DB->where('idx',$data_id);
$DB->update('some_table',$dataArray);
}
return(TRUE);
}