J'ai une requête MySQL qui exige que les paramètres soient enfermés dans « » ou « »,citations dans les requêtes
si j'ai un tableau passé à cette fonction:
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);
}
et le transmettre à
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]));
}
Y aura-t-il des problèmes de sécurité avec cette approche?
EDIT suppose que le code est dans une classe, a fait plus nécessaire de $ this->
EDIT faute de frappe sur le foreach
On dirait que vous avez oublié les paramètres de l'appel orderbyfield. – chiborg