gpt4 book ai didi

PHP 表单/准备好的语句错误

转载 作者:行者123 更新时间:2023-11-29 02:10:05 25 4
gpt4 key购买 nike

我正在创建一个用户注册表单,但我对准备好的语句有疑问。如果我在代码中添加 exit();,注册将不会指向任何地方。如果我不添加 exit();,该表单将显示正确的错误消息,但在第二次尝试时会忽略它们。

另外,另一个(新手)问题,我如何为已经注册的电子邮件实现错误消息?我添加了 $sql = "SELECT * FROM users WHERE user_name=? AND user_email=?";mysqli_stmt_bind_param($stmt, "ss", $name, $email); 但我无法显示错误消息。

到目前为止,准备好的陈述问题:

else {
$sql = "SELECT * FROM users WHERE user_name=?";
$stmt = mysqli_stmt_init($con);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: ../index.php?sqlerror");
exit();
}

else {
mysqli_stmt_bind_param($stmt, "s", $name);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
$resultCheck = mysqli_stmt_num_rows($stmt);
if ($resultCheck > 0) {
array_push($error_array, "Oops! This username is already taken.<br>");
exit();
}

最佳答案

你不需要导出,因为你已经有了标题对于问题注册电子邮件: 您可以使用函数 num_rows,http://php.net/manual/pt_BR/mysqli-result.num-rows.php

 $mysqli = new mysqli("localhost","root", "", "tables");
$query = $mysqli->prepare("SELECT * FROM users WHERE user_name=? AND
user_email=?");
$query->execute();
$query->store_result();

$rows = $query->num_rows;

然后做一个if

if($rows>0){
//message error
}

关于PHP 表单/准备好的语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54818196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com