0
使用mysql_real_escape_string簡化轉義字符串我希望能夠編寫一個函數,該函數可以接受任意數量的參數並將函數應用於所有函數。通過引用的PHP通話時間解決方法
事情是這樣的:
function escape()
{
$args = func_get_args();
array_map('mysql_real_escape_string', $args);
}
正如你應該能夠看到,這將依賴於參數傳遞給這個函數的引用。鑑於通話時間參考不能在PHP中完成,對此最好的解決方法是什麼?因爲我有一些功能可以將特定的信息子集寫入數據庫,所以我真的需要像上面這樣的通用函數,而不是隨處調用mysql_real_escape_string
。
我的測試還表明傳遞給mysql_real_escape_string
的參數總是按值傳遞。所以即使我能得到escape()
的參考,我的辛勤工作隨後也會被破壞。有沒有辦法解決?
必須有其他人有一個類似的用例,但也許解決方案是直接調用該函數。至少我可以將mysql......
換成短名稱的函數,以保持代碼更清晰。這可能只是PHP沒有能夠傳遞指針的情況。
既然你已經標記了這個問題PHP5,你有沒有考慮過搬到PDO?我知道開關似乎讓人頭痛,但參數化的sql在大多數情況下大大減少了對這種冗餘的消毒的需求。 http://www.php.net/manual/en/intro.pdo.php – DeaconDesperado 2011-04-04 18:32:18