0

データベースに挿入する前にトリムを行う必要があります。私は codeigniter を使用しています。を挿入する前にトリムを行う必要がある場合は、プロジェクト全体でコードを変更する必要があります。そこで、 codeigniter によって実行される挿入操作の前にトリムを行うことを考えました。

_insert 関数の system/database/drivers/mysql/mysql_driver.php で、配列内のデータをトリミングするために forloop を導入しました。コードは次のとおりです。

function _insert($table, $keys, $values){
  $arr = array();
  foreach($values as $k => $v)
    $arr[$k] = trim($v);
  return "INSERT INTO ".$table." (".implode(', ', $keys).") VALUES (".implode(', ', $arr).")";
}

任意のガイダンスをいただければ幸いです。挿入後、値データベースが表示された場合、それはトリミングされません。ログファイルに表示されている間も同じです。

4

3 に答える 3

0

コントローラーに投稿した後、各投稿のサンプルコードの前にエスケープを書くことができます:

$this->db->escape($this->input->post('first_name'));
于 2014-12-12T09:59:06.010 に答える
0

コントローラーに投稿した後、各投稿のサンプルコードの前に trime を書くことができます:

$this->load->model('test_model');
$form_data = array(
          'fname'   =>trim($this->input->post('first_name')),
          'lname'   =>trim($this->input->post('last_name')),
          'position'=>trim($this->input->post('position'))
           );
$this->test_model->insert('test_table',$form_data);
于 2013-06-15T09:01:23.520 に答える