语句不检查php mysql中的电子邮件值
我正在检查数据库中是否不存在用户名和电子邮件。 它完美地检查用户名,但它跳过电子邮件我的意思是不检查电子邮件是否存在。 这是我的db表,如下所示: 我试图把同样的电子邮件输入到数据库中。 我想要的是检查电子邮件和用户名中的所有行,如果数据已经存在,则显示一个错误语句不检查php mysql中的电子邮件值,php,mysql,Php,Mysql,我正在检查数据库中是否不存在用户名和电子邮件。 它完美地检查用户名,但它跳过电子邮件我的意思是不检查电子邮件是否存在。 这是我的db表,如下所示: 我试图把同样的电子邮件输入到数据库中。 我想要的是检查电子邮件和用户名中的所有行,如果数据已经存在,则显示一个错误 <?php include 'template-parts/header.php'; ?> <main class="main-wrap"> <div class="container"> &
<?php include 'template-parts/header.php'; ?>
<main class="main-wrap">
<div class="container">
<main class="main-content">
<div class="login-form-wrap">
<div class="phdr">Registration</div>
<div class="pad">
<?php
include 'config/connection.php';
if (isset($_POST['regbtn'])) {
$name = $_POST['regname'];
$email = $_POST['regemail'];
$password = $_POST['regpassword'];
$phone = $_POST['regphone'];
$mysql = "SELECT * FROM users";
$myque = mysqli_query($con,$mysql);
$myres = mysqli_fetch_assoc($myque);
if ($myres['username'] == $name) { ?>
<script type="text/javascript">
alert('Username Already Exist!');
</script>
<?php }
if ($myres['useremail'] == $email) { ?>
<script type="text/javascript">
alert('Email Already Exist!');
</script>
<?php }
}
?>
<form class="#" action="" method="post">
<p>
<label for="name"></label>
<input type="text" id="name" name="regname" placeholder="Enter Full Name...">
</p>
<p>
<label for="email"></label>
<input type="email" id="email" name="regemail" placeholder="Enter Email Address...">
</p>
<p>
<label for="password"></label>
<input type="text" id="password" name="regpassword" placeholder="Enter Password...">
</p>
<p>
<label for="phone"></label>
<input type="text" id="phone" name="regphone" placeholder="Enter Phone Number...">
</p>
<p>
<input type="submit" name="regbtn" value="Sign Up">
</p>
</form>
</div>
</div>
</main>
</div>
登记处
警报('用户名已存在!');
警报('电子邮件已存在!');
如果用户名存在,则显示警报;如果电子邮件存在,则不显示警报。您需要迭代结果,如果您要检查的电子邮件不在结果集的第一行,则“如果($myres['useremail']==$email)”将返回false。
或者直接在查询中使用名称和电子邮件(确保正确转义,因为它直接来自$\u POST!),因此您不需要运行所有数据集。您需要在循环中使用
$myres=mysqli\u fetch\u assoc($myque)
,因为当前名称和电子邮件仅与第一个结果集进行比较。您可以发布(修订)users
表的内容和您的输入?您只调用了mysqli\u fetch\u assoc
一次,所以您只需检查第一行。@Jan Wichelmaan我已经用db表的img更新了代码。希望您理解。tnxd用户名/电子邮件地址组合是否有效?我只想检查用户名或电子邮件是否无效t exists.if exists show the error.是否有任何方法检查useremail字段的所有数据?请参阅我的第一条评论和下面的答案。您需要迭代整个结果集,而不是只调用mysqli\u fetch\u assoc
一次。我如何检查该字段“useremail”和“username”中的所有数据在我的数据库中,如果存在电子邮件或用户名,则显示错误?