我讓用戶輸入一些將存儲在sql中的信息。當然,我想逃避所有的引號等等,但我不希望這些東西輸出到最終的HTML。mysql_real_escape_string()是否會取消stripslashes()?
我正在爲所有$ _POST變量運行此函數。它有效嗎?
function cleanArray($array) //prevent funky insertions
{
foreach ($array as &$value)
{
$value = mysql_real_escape_string(stripslashes(nl2br($value)));
}
return $array;
}
我擔心逃生字符串和stripslashes取消彼此?
stripslashes會從用戶輸入中刪除斜線,並且會比mysql_real_escape_string將它們添加回來:)順便說一句,mysql_real_eascape只能用於鏈接標識符或已打開的數據庫連接,否則會返回錯誤。 – RRStoyanov 2011-05-26 20:08:13
你可以避免完全逃脫,如果你使用準備語句:http://stackoverflow.com/questions/4357340/mysql-php-mysql-real-escape-syntax-issues/4358177#4358177 – Mike 2011-05-26 20:11:07
我試圖完成一些東西簡單。退出報價..然後在我輸出我的內容之前聯合國 - 逃脫他們。 – ionfish 2011-05-26 20:16:37