PHP/mySQL语句

PHP/mySQL语句,php,mysql,Php,Mysql,下面的php代码是否容易受到SQL注入的攻击,或者是否足够安全?此外: 我应该将mysql\u real\u escape\u字符串应用于用户传递的值,还是尝试以任何其他方式对其进行中性化。。。? 我应该使用php_标志魔术_引号关闭。。。? 我是否应该使用php\u值魔法\u引号\u gpc 0 因为正在准备查询,所以SQL注入是不可能的。但这并不意味着准备好的声明是100%安全的。 我个人更喜欢PDO。请看一看。没有什么是绝对安全的,但由于您使用的是Mysqli,并且您已经准备好了它,所以它

下面的php代码是否容易受到SQL注入的攻击,或者是否足够安全?此外:

我应该将mysql\u real\u escape\u字符串应用于用户传递的值,还是尝试以任何其他方式对其进行中性化。。。? 我应该使用php_标志魔术_引号关闭。。。? 我是否应该使用php\u值魔法\u引号\u gpc 0


因为正在准备查询,所以SQL注入是不可能的。但这并不意味着准备好的声明是100%安全的。
我个人更喜欢PDO。请看一看。

没有什么是绝对安全的,但由于您使用的是Mysqli,并且您已经准备好了它,所以它应该是安全的。将准备好的语句视为内部转义数据。他们实际上是将其二进制文件发送回服务器…Magic quotes应该是关闭的,但在PHP5.3中默认是这样,并且在PHP5.4中已被删除+
$mysqli = new mysqli($server_name, $db_username, $db_password, $db_name);

$sql = "SELECT * FROM tbl_users WHERE username=? AND password=?";

$username = $_POST['username'];
$password = $_POST['password'];

$stmt = $mysqli->prepare($sql);
$stmt->bind_param('ss',$username,$password)) {
$stmt->execute();