我可以在准备好的语句中参数化表名吗?我多次使用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.与另一个问号语句连接,创建另一个BIND参数语句,还是添加到现有语句中以防止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();}
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
SELECT * FROM ?
mytable
SELECT * FROM 'mytable'
SELECT * FROM {$mytable}
$mytable
慕村9548890
TA贡献1884条经验 获得超4个赞
CREATE DATABASE IF NOT EXISTS ?
附带说明:
添加回答
举报
0/150
提交
取消