我有以下代码:如果我绑定参数,是否必须使用mysql_real_escape_string?
function dbPublish($status)
{
global $dbcon, $dbtable;
if(isset($_GET['itemId']))
{
$sqlQuery = 'UPDATE ' . $dbtable . ' SET active = ? WHERE id = ?';
$stmt = $dbcon->prepare($sqlQuery);
$stmt->bind_param('ii', $status, $_GET['itemId']);
$stmt->execute();
$stmt->close();
}
}
我需要在这种情况下mysql_real_escape_string还是我好吗?
请注意,只有参数不受SQL注入影响;任何直接插入查询字符串的变量(如'$ dbtable')都是一个潜在向量,如果它的值来自用户输入。当然,诸如表名和列名之类的东西绝不应直接来自用户输入。 – outis 2010-02-17 21:03:13