O mysqli_real_escape_string é seguro?
Eu sou novo em PHP e percebi que minha conexão com o banco de dados, usando um formulário php (com entradas de texto de usuário e senha) era totalmente inseguro:
Isso estava funcionando, mas não era seguro:
<?php
$link=mysqli_connect('localhost','xx','xx','xx');
$sql=' SELECT * FROM usuarios
WHERE username="'.$_POST['usuario'].'"
AND pass="'.$_POST['usuario'].'"
';
$rs=mysqli_query($link,$sql);
mysqli_close($link);
?>
Então, eu li sobre mysqli_real_escape_string e decidi experimentar:
<?php
$link=mysqli_connect('localhost','xx','xx','xx');
$usuario=mysqli_real_escape_string($link, $_POST["usuario"]);
$clave=mysqli_real_escape_string($link, $_POST["clave"]);
$sql=' SELECT * FROM usuarios
WHERE username="'.$usuario.'"
AND pass="'.$clave.'"
';
$rs=mysqli_query($link,$sql);
mysqli_close($link);
?>
Isso está correto? Este é um bom exemplo de como usar mysqli_real_escape_string?