我刚开始在这段代码中使用预处理语句,但我遇到了问题。我正在使用它们来查看具有某个电子邮件的用户是否已经存在,但它不起作用。这是我的代码:
$mysqli = new mysqli("localhost", "root", "mypass", "mydb");
$uname = $mysqli->real_escape_string($_POST["uname"]);
$email = $mysqli->real_escape_string($_POST["email"]);
$passwd = $mysqli->real_escape_string($_POST["passwd"]);
$stmt1 = $mysqli->prepare("SELECT * FROM users WHERE email=?");
$stmt1->bind_param("s", $email);
$stmt1->execute();
$res1 = $stmt1->get_result();
$i = 0;
while($row1 = $res1->fetch_assoc()) {
$i = $i + 1;
}
if($i != 0) {
die("A user with that email already exists.");
}
然后,我继续使用相同的代码检查用户名是否已被使用,只需将对uname的电子邮件的引用换成并将stmt1切换为stmt2。我的代码在这里出了什么问题?
答案 0 :(得分:0)
这是我用于我的网站的登录页面。最好根据您的要求进行更改。
<?php
global $con;;
$con = mysql_connect("localhost:3306", 'rvani', "rv6861", TRUE) or die (mysql_error());
mysql_select_db("rvani", $con);
/// Connection
$pwd = trim($_POST['pwd']);
$email = trim($_POST['email']);`enter code here`
if($pwd == ""){
echo'PasswordNull';
return;
}
if($email == ""){
echo'EmailNull';
return;
}
$quy = "select * from MLogin where email_id='$email'";
global $con;
try {
$res= mysql_fetch_assoc(mysql_query($quy, $con));
}
catch (Exception $e1)
{
echo 'Error';
}
if(md5($pwd) === $res['Password']){
//echo'Successfully';
echo'Welcome';
return ;
}else{
echo'PasswordNotMatch';
return ;
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
?>