J'ai utilisé la fonction mysqli_stmt_bind_param à plusieurs reprises. Cependant, si je sépare les variables que j'essaie de protéger contre l'injection SQL, je rencontre des erreurs.
Voici un exemple de code :
function insertRow( $db, $mysqli, $new_table, $Partner, $Merchant, $ips, $score, $category, $overall, $protocol )
{
$statement = $mysqli->prepare("INSERT INTO " .$new_table . " VALUES (?,?,?,?,?,?,?);");
mysqli_stmt_bind_param( $statment, 'sssisss', $Partner, $Merchant, $ips, $score, $category, $overall, $protocol );
$statement->execute();
}
Est-il possible de remplacer d'une manière ou d'une autre le .$new_table.
concaténation avec une autre instruction de point d'interrogation, créer une autre instruction de paramètre de liaison, ou ajouter à l'instruction existante pour se protéger contre l'injection SQL ?
Comme ceci ou une forme de ceci :
function insertRow( $db, $mysqli, $new_table, $Partner, $Merchant, $ips, $score, $category, $overall, $protocol )
{
$statement = $mysqli->prepare("INSERT INTO (?) VALUES (?,?,?,?,?,?,?);");
mysqli_stmt_bind_param( $statment, 'ssssisss', $new_table, $Partner, $Merchant, $ips, $score, $category, $overall, $protocol );
$statement->execute();
}