我有一个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