그래서 나는해야 할 일을하려고 노력하고 있고 아마도 매우 간단한 평범한 작업입니다. 내 DB에서 이메일 주소를 확인하려고합니다. 나는 옳은 선로에서 메신저를 안다면, 어떤 사람이 제발 머리를 꺾어 줄 수 있는지 모르십니까?mysql db의 이메일 주소를 확인하십시오
$query = "SELECT * FROM 68_users WHERE email= $email";
if($result = mysqli_query($link, $query) == $email) {
echo 'Email has been registered';
}else{
$query = "INSERT INTO 68_users (email,pass,old_pass,first_name,last_name,dob,gender,phone,fanmail)
VALUES ('$email',AES_ENCRYPT('$pass', 'something'),AES_ENCRYPT('$pass', 'something'),'$first_name','$last_name','$dob','$gender','$phone','$fanmail')"
or die(mysqli_error());
if (!mysqli_query($link, $query)) {
echo 'error: '.mysqli_error($link);
exit();
}
}
mysqli_close($link);
}
귀하의 도움에 감사드립니다. php에 대한 디버깅 상황을 파악해야합니다. 지금 나는 내 사이트에 일식 및 디버그 쓰기, 매우 악화는 ...이 내가 사용하는 것입니다 :
$query = "SELECT * FROM 68_users WHERE email= '$email'";
$result = mysqli_query($link, $query);
if($result->num_rows > 0) {
echo 'This email has previously been registered';
}else{
$query = "INSERT INTO 68_users (email,pass,old_pass,first_name,last_name,dob,gender,phone,fanmail)
VALUES ('$email',AES_ENCRYPT('$pass', 'something'),AES_ENCRYPT('$pass', 'something'),'$first_name','$last_name','$dob','$gender','$phone','$fanmail')"
or die(mysqli_error());
if (!mysqli_query($link, $query)) {
echo 'error: '.mysqli_error($link);
exit();
}
header('Location: http://www.example.com/html/thankyou.html') ;
}
실행하면 어떻게됩니까? –
'WHERE email = $ email'는 최소한 WHERE email = '$ email'' 일 필요가 있습니다. 암호를 되돌릴 수 있기 때문에'AES_ENCRYPT'를 사용하면 안됩니다. SQL 주입에 취약하다고 생각합니다. – ceejayoz
여기에 준비된 문장을 사용하면 삶이 훨씬 쉬워 질 것입니다. – ethrbunny