2014-03-13 25 views
1

我正在插入一個數組到我的dbatabase使用Zend,我試圖使用$ zenddb-> quote($ string)函數來轉義我的值,但它將引號添加到字符串中,因此插入後引號仍然存在於數據庫中。我使用不正確?插入數組zend db報價(轉義)將字符串添加到引號

$data['tournament_id'] = $this->zdb->quote($_POST['winners_tournament_id']); 
$data['user_id']  = $this->zdb->quote($_SESSION['user']); 
$data['user_name'] = $this->zdb->quote($_SESSION['first_name']); 

$insert = $this->zdb->insert("submitters", $data); 

//print_r($data) looks like this: 
Array 
(
    [tournament_id] => '55' 
    [user_id] => '2182609' 
    [user_name] => 'eric' 
) 

字符串正在用引號括起來,並且數字被插入爲0(零)。當我刪除$ zenddb-> quote()時,它工作正常。但是,我如何正確地逃避它們。

回答

4

在這種情況下,您不應該使用引號功能。因爲您使用的是Zend_Db_Table適配器($ db-> insert和$ db-> update),您數組中的數據已經被轉義。這很可能是在插入或更新數據之前添加一組額外的引號。希望這可以幫助。

+1

好的,這是有道理的。所以,如果我明白了,如果我將它作爲數組插入,我不需要手動引用它,因爲當我以這種方式插入時,zend已經引用了數組中的每個值? – Gisheri