0

mysql現在、エスケープ文字列は次のように構成されており、正常に動作するコードのセクションを更新してい$product_name = mysql_real_escape_string(trim($_POST['product_name']));ます。

私の問題は、上記の文字列を$product_name = mysqli_real_escape_string($database, (trim($_POST['product_name'])));次のように変更して宣言するときです。$database = $this->load->database();その上に、NULLというエラーが表示されます

CI で文字列をエスケープするにはどうすればよいですか?

4

2 に答える 2

0

CodeIgniterのユーザー マニュアルには次のように書かれています。

単純さ以上に、Active Record 機能を使用する主な利点は、クエリ構文が各データベース アダプタによって生成されるため、データベースに依存しないアプリケーションを作成できることです。値はシステムによって自動的にエスケープされるため、より安全なクエリも可能になります。

コントローラーで Input クラスを使用できます。

$this->load->model('mymodel');
$something = $this->input->post('something');
$results = $this->mymodel->mymethod($something);

あなたのモデルで

$this->db->insert('mytable', $data); 
于 2013-06-16T01:49:01.253 に答える