慕森王
2019-06-01 15:53:55
我可以在準備好的語句中參數化表名嗎?我多次使用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
提交
取消