我在這裏關注我的書面代碼。當我檢查時,連接是可以的,但是當我的if語句在這裏運行時,它預期會從password = cpassword直到第二個if語句用於檢查用戶是否存在並將其轉入else,因爲它是假的,但是當它到達第三個if語句我不知道爲什麼if($ query_run)會變成false。
因此,結果數據沒有添加到我的數據庫,並給我一個ERROR警報,我在其他語句中聲明。
<?php
if(isset($_POST['submit_btn']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$cpassword = $_POST['cpassword'];
if($password==$cpassword)
{
$query= "select * from user WHERE username ='$username'";
$query_run = mysqli_query($con,$query);
if(mysqli_num_rows($query_run)>0)
{
// there is already a user with the same username
echo '<script type="text/javascript"> alert("user already exist.. Try another username")</script>';
}
else
{
$query = "insert into user values('$username','$password')";
$query_run = mysqli_query($con,$query);
if($query_run)
{
echo '<script type="text/javascript"> alert("User Registered Go to Login page to Log in")</script>';
}
else
{
echo '<script type="text/javascript"> alert("Error..")</script>';
}
}
}
else
{
echo '<script type="text/javascript"> alert("Password does not match!")</script>';
}
}
?>
請用準備好的查詢,你是開放的SQL注入。 –
@IvanBolnikh這不是問題。 –
@MichaelHirschler:那沒關係。如果有人正在做一些不安全的事情,而且你知道這是不安全的,那麼有必要說出來。 – halfer