我有一個MySQL查詢其要求參數在「」或「」被封閉,引號查詢
如果我有傳遞給該功能的數組:
function orderbyfield($column, array $selection)
{
// will it be alright (secure) to do this?
foreach ($selection as $s)
{
$s = '"' . $s . '"';
}
$string = implode(',', $selection)
return array($column, $string);
}
並將其傳遞給
function generate_sql()
{
$fields = $this->orderbyfield(); // assuming the code is in a class
$sql = 'SELECT FIELDS FROM TABLE ORDER BY FIELD (' . $fields[0] . ',' . mysql_real_escape_string($fields[1]));
}
這種方法會有什麼安全問題嗎?
編輯 假設碼屬於一類,做了必要的另外的$這個 - >
編輯 錯字上的foreach
看起來您已經忘記了orderbyfield調用中的參數。 – chiborg 2010-01-26 09:39:04