Не могли бы вы мне помочь, переписав следующий код, используя подготовленные операторы (mysqli), он для меня нов и пытается разобраться с этим:
$sql = sprintf("SELECT `user`.`firstname`, `user`.`lastname` from `user` where `user`.email='%s' and `user`.password='%s'",
mysql_escape($_POST['username']),
mysql_escape($_POST['password'])
);
$name = mysql_query($sql);
if(mysql_num_rows($name)==1){
$_SESSION['name'] = mysql_fetch_assoc($name);
header("Location: /in.php");
exit();
}else{
echo "here";
}
------------------------- ОБНОВЛЕНИЕ -----------------
mysql_escape следующая функция:
function mysql_escape($data){return(mysql_real_escape_string((get_magic_quotes_gpc())?stripslashes($data):$data));}
------------------- ОБНОВЛЕНИЕ2 -------------------------
Я могу написать оператор выбора как:
$stmt = $db->prepare("SELECT `user`.`firstname`, `user`.`lastname` from `user` where `user`.email=? and `user`.password=?");
$stmt->bind_param("ss", $_POST['username'], $_POST['password']);
$stmt->execute();
$stmt->close();
, но я борюсь с этой частью:
$name = mysql_query($sql);
if(mysql_num_rows($name)==1){
$_SESSION['name'] = mysql_fetch_assoc($name);
header("Location: /in.php");
exit();
}else{
echo "here";
}