Я использовал функцию mysqli_stmt_bind_param несколько раз. Однако, если я разделяю переменные, которые я пытаюсь защитить от SQL-инъекций, я сталкиваюсь с ошибками.
Вот пример кода:
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();
}
Можно ли каким-то образом заменить конкатенацию .$new_table.
на другой оператор вопросительного знака, сделать другой оператор параметра привязки или добавить существующий для защиты от SQL-инъекции?
Подобно этой или какой-либо форме:
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();
}