私はCodeIgniterを使用していますが、いくつかの入力フィールドを持つ式があります。問題は、 "&"のような入力フィールドに特殊文字を書き込むと、&
という名前で保存され、値を編集するためにフォームをリロードすると、このように表示されるということです。 これは多くのエラーにつながり、解決する必要があります。値は "&"として保存する必要があります。PHP/MySQL - フォーム入力値 "&"は "&"として保存されます
私はそのような入力フィールドにform_validationを使用します。
$this->form_validation->set_rules("input1", "Name", "required|trim");
$this->form_validation->set_rules("input2", "Name", "required|trim");
その後、私は、アレイ内のすべての入力を書いて、モデル内の関数にそれを手渡す:
$input= array();
$input["input1"] = set_value("input1");
$input["input2"] = set_value("input2");
$this->MInput->update_input($input_id, $input);
モデル
function update_input($input_id, $input) {
if($this->db->update("pa_it_input", $input, "id = $input_id") === FALSE) {
$error = $this->db->error();
log_message("error", "Database error in MInput [".$error["code"]."] ".$error["message"]);
return FALSE;
}
エラーの原因はわかりません。私はすでに、すべてのテーブルがUTF-8に設定されていることと、UTF-8でページが読み込まれていることを確認しました。
文字列を渡すインターフェースのドキュメントは、 '&'& '&'のような文字列と文字列について何を言っていますか? [mcve]も読んで行動してください。 – philipxy
これは以下のffリンクに似ています:https://stackoverflow.com/questions/11704233/the-best-way-to-store-ampersand-in-mysql-database AND https://stackoverflow.com/questions/ 3545735 /データベースのアンパサンドを格納 – Riyenz
あなたのフォームに関連している可能性があります。それを示してください。 formhelpersまたは 'form_prep()'を使う –