您现在的位置是:首页 > 正文

mysql 表名 参数化_我可以在准备好的语句中参数化表名吗?

2024-04-01 00:58:38阅读 3

我已经多次使用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();

}

网站文章