我正在使用zend_db_select類作爲我的sql包裝。我想知道下面的插入語句是否安全。 (不管它提供的機制來防止SQL注入等)保護我的zend_db_select插入語句
function createNew($message,$tags,$userid,$imgsrc){
$data = array('message' => $message,
'tags' => $tags,
'imgsrc' => $imgsrc,
'createdtimestamp'=>new Zend_Db_Expr('NOW()'),
'userid' => $userid);
$this->dbo->insert('data', $data);
return $this->dbo->lastInsertId();
}
我試圖插入行與一些報價表,並沒有得到逃脫\,我是擔心過多或不phpMyAdmin的自動刪除\爲了方便觀看?困惑。我在某處讀過zend_db_select迎合這種sql注入的東西。
建議感激。謝謝
hi tim!謝謝回覆!不要低估爲什麼我們不應該看到逃脫的引號,爲什麼它是重點?關於轉義數據的要點是在db中看到我們的字符串get \'。例如我們進入O'Reilly,如果字符串在數據庫中顯示爲O'Reilly,我們如何知道該字符串已被轉義。我對這一點感到困惑。 – Slay
我編輯了我的答案以包含一個例子 - 希望這更清楚。 –
oic!我只是意識到...所以SQL注入只能用where子句選擇,刪除和更新語句。它不會發生插入? – Slay