mysql_real_escape_string sorunlara neden olur?

0 Cevap php

Tamam. Yani bir form yaptı. I $usrname (evet onun sağ yazıldığından) formdan alındığı benim değişkene mysql_real_escape_string koyarsanız, bu benim diğer değişken, $verify {[olarak döner (3)]}. Bir göz atın:

<html>
<body>
<?php  

session_start();

include("mainmenu.php");  

$usrname = $_POST['usrname']; 
$password = sha1($_POST['password']);

$con = mysql_connect("localhost", "root", "Y0U_C@NT_H@NDLE_THE_TRUTH!");
 if(!$con){
  die("Unable to establish connection with host. We apologize for any inconvienience.");
}

mysql_select_db("users", $con) or die("Can't connect to database.");

$select = "SELECT * FROM `data` WHERE usrname = '$usrname' and
password = '$password'";
$query = mysql_query($select);
$verify = mysql_num_rows($query);

if($verify==1){
    $_SESSION["valid_user"] = $usrname;
    header("location:index.php");
}
else{
     echo "Wrong username or password. Please check that CAPS LOCK is off.";
     echo "<br/>";
     echo "<a href=\"index.php\">Back to login</a>";
} 

mysql_close($con);

?> 
</body>

Benim kayıt formunda ya da giriş formu birinde mysql_real_escape_string koyarsanız, o $verify false olarak döner. Ne oldu?

0 Cevap