PHP准备好的语句即使在if语句中也执行

时间:2019-05-27 22:47:00

标签: php mysqli prepared-statement

我想使用“ if语句”检查执行中是否发生错误。 运行此命令时,它将执行两次,并插入2个具有相同值的相同行。

$userstatus = 1;
$insertuser = $connection->prepare("INSERT INTO users (user_name, user_password, user_email, user_lastloginip, user_accesslevel, user_status) VALUES (?, ?, ?, ?, ?, ?)");
$insertuser->bind_param("ssssii", $username, $md5password, $filteredemail, $userip, $defaultaccesslevelfornewusers, $userstatus);
$insertuser->execute();
if (!$insertuser->execute()) {
     echo "Account creation failed.".mysqli_error($connection);
     die();
} else {
     $errormessage = 'Your account has been registered successfully. <a href="'.$website_url.'/users/userlogin.php">Click here to login.</a>';
}

我也尝试使用此方法:

if ($insertuser->execute()) { 
    // do something; 
} else { 
    // echo error;
}

但还是一样。

有没有一种方法可以停止执行,而让if语句只是检查是否存在错误?

0 个答案:

没有答案