2013-09-24 17 views
2

我知道codeigniter自動轉義字符,以防止可能的sql注入。但是,我將如何能夠在數據庫中使用雙引號存儲字符串值。這可能嗎?或者是否有一個函數或條件可以忽略雙引號並使用codeigniter活動記錄將其存儲在數據庫中?我曾嘗試在數據庫中存儲雙引號值,但未能存儲該值。例如。我想使用變量$course_desc在數據庫中存儲此值「計算機課程」,但數據庫中的說明字段不存儲任何內容。如何才能做到這一點?這裏是將值插入我的模型活動記錄代碼:如何使用codeigniter活動記錄在數據庫中插入雙引號字符串值?

型號:

public function insert_file($filename,$course_name,$course_desc,$tennant_email,$is_public,$concat_url) 
{ 
    $data = array(
    'course_id'  => '', 
    'tennant_id' => $tennant_email, 
    'display_public'=> $is_public, 
    'course_name' => $course_name, 
    'course_desc' => $course_desc, 
    'private_url' => $concat_url, 
    'filename'  => $filename 

      ); 

     $this->db->insert('courses', $data); 
     return true; 
    } 
+0

查詢與AR是AUTOMA因此引用不應該成爲問題。如果你var_dump($ data)的值是用引號括起來的? –

+0

鑑於您的示例數據,它應該按原樣工作。 $ this-> db-> insert('courses',$ data);返回?嘗試把它作爲下一行:echo $ this-> db-> last_query(); – allen213

+0

請張貼您的查詢。如果您在描述中使用雙引號,那麼它應該工作。沒有問題。 – ABorty

回答

1

只是把這些變量這樣的下面,

$data = array('course_desc' => '"'.$course_desc.'"') 

請讓我知道這是否有所幫助。

0

如果你對用雙引號(「)插入數據的問題,我建議你使用更換嘗試。例如:選擇當

$data = array(
    'course_id'  => '', 
    'tennant_id' => $tennant_email, 
    'display_public'=> $is_public, 
    'course_name' => $course_name, 
    'course_desc' => str_replace('"','xxxxx',$course_desc)), 
    'private_url' => $concat_url, 
    'filename'  => $filename 

      ); 

     $this->db->insert('courses', $data); 

,反之亦然/獲取它在數據庫。

我希望這將有助於。

0

你可以用 '\'

$data = array(

    'course_desc' => "\"$course_desc\"" 

} 
相關問題