Php安全mysqli查询

时间:2013-11-24 19:03:42

标签: php mysqli

我有这个mysqli查询,它从数据库中的表中返回一行。

    $realName = mysqli_real_escape_string($con, $name);
    $row = mysqli_fetch_array(mysqli_query($con, "SELECT * FROM " . $tbprefix . "table WHERE name = '" . $realName . "'")) ;

正如您所看到的,我在查询$tbprefix$realName中有两个变量。我在$realName变量上使用了 mysqli_real_escape_string(),但我不确定是否应该在另一个变量上使用它!。

这可能看起来像是一个愚蠢或愚蠢的问题,但我是php编程的新手,所以对我而言很复杂。

2 个答案:

答案 0 :(得分:2)

一个例子:

$query = $mysqli->prepare('SELECT * FROM users WHERE username = s');
$query->bind_param('s', $_GET['username']);

答案 1 :(得分:0)

在PDO中使用预准备语句:

$sth = $pdo->prepare("SELECT * FROM ? WHERE name = ?");
$sth->execute( Array($tbprefix . "table", $realName) );

使用MySQLi http://php.net/manual/en/mysqli.prepare.php