Php 为什么我不能检查我的电子邮件和暴徒是否已经存在?
这是我的php文件,我试图在其中检查电子邮件是否已经存在Php 为什么我不能检查我的电子邮件和暴徒是否已经存在?,php,mysql,Php,Mysql,这是我的php文件,我试图在其中检查电子邮件是否已经存在 <?php include_once("connection.php"); $name=$_REQUEST['name']; $email=$_REQUEST['email']; $pass=$_REQUEST['pass']; $mobno=$_REQUEST['mobno']; $checkemail="SELECT * FROM dhruv_users WHERE email= '$_REQUEST[
<?php
include_once("connection.php");
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$pass=$_REQUEST['pass'];
$mobno=$_REQUEST['mobno'];
$checkemail="SELECT * FROM dhruv_users WHERE email= '$_REQUEST[email]'";
$checkmob="SELECT * FROM dhruv_users WHERE mobno= '$_REQUEST[mobno]'";
$rsemail = mysqli_query($conn,$checkemail);
$rsmob = mysqli_query($conn,$checkno);
$dataemail = mysqli_num_rows($rsemail);
$datamob = mysqli_num_rows($rsmob);
if($dataemail >= 1) {
echo "exists";
}
else if($datamob >= 1)
{
echo "exists";
}
else{
$select=mysqli_query($conn,"select max(id) as id from dhruv_users");
if($data=mysqli_fetch_array($select))
{
$id=$data['id'];
$id++;
}
else
{
$id=1;
}
$query=mysqli_query($conn,"insert into dhruv_users VALUES ('$id','$name','$email','$mobno','$pass')");
if($query)
{
echo "success";
}
else{
echo "unsuces";
}
没有错误,但数据输入成功,没有检查mob no(是否存在)
<?php
include_once("connection.php");
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$pass=$_REQUEST['pass'];
$mobno=$_REQUEST['mobno'];
$checkemail="SELECT * FROM dhruv_users WHERE email= '$_REQUEST[email]'";
$checkmob="SELECT * FROM dhruv_users WHERE mobno= '$_REQUEST[mobno]'";
$rsemail = mysqli_query($conn,$checkemail);
$rsmob = mysqli_query($conn,$checkno);
$dataemail = mysqli_num_rows($rsemail);
$datamob = mysqli_num_rows($rsmob);
if($dataemail >= 1) {
echo "exists";
}
else if($datamob >= 1)
{
echo "exists";
}
else{
$select=mysqli_query($conn,"select max(id) as id from dhruv_users");
if($data=mysqli_fetch_array($select))
{
$id=$data['id'];
$id++;
}
else
{
$id=1;
}
$query=mysqli_query($conn,"insert into dhruv_users VALUES ('$id','$name','$email','$mobno','$pass')");
if($query)
{
echo "success";
}
else{
echo "unsuces";
}
反复输入相同的mob no将显示成功消息,而不是exist消息。您需要计算从DB获得的结果 代码中存在逻辑错误。请查看下面的代码:- 您的代码
if($dataa[0] > 1) {
echo "User Already in Exists<br/>";
}
if($dataa[0]>1){
echo“用户已存在
”;
}
将上述内容替换为:
if(count($dataa) > 1) {
echo "User Already in Exists<br/>";
}
if(计数($dataa)>1){
echo“用户已存在
”;
}
为什么不使用mysqli\u num\u行,而使用mysqli\u fetch\u数组和mysqli\u num
试试下面的方法
$rs = mysqli_query($conn,$check);
$dataa = mysqli_num_rows($rs);
if($dataa > 1) {
echo "User Already in Exists<br/>";
}
$rs=mysqli\u查询($conn,$check);
$dataa=mysqli\u num\u行($rs);
如果($dataa>1){
echo“用户已存在
”;
}
您需要使用正确的引号编写查询。无法识别$u请求的电子邮件索引。另外,使用mysqli_num_rows函数
请参阅下面的代码以了解最佳实践:
$check = "SELECT * FROM dhruv_user WHERE email= '" . $_REQUEST['email'] . "'";
$rs = mysqli_query($conn,$check);
if ($rs) {
$rowcount = mysqli_num_rows($rs);
if ($rowcount) {
echo "User already exists<br/>";
}
}
$check=“从电子邮件=”的dhruv_用户中选择*”$_请求['email']。"'";
$rs=mysqli\u查询($conn,$check);
如果有的话(卢比){
$rowcount=mysqli_num_行($rs);
如果($rowcount){
echo“用户已存在
”;
}
}
请检查答案below@RameshKumar发布答案时,您无需发表评论,提问者会自动得到通知。@Barmar非常感谢您……我会记住的。:)mysqli_num_rows返回结果集中的行数。亲爱的Roshni Hegde..请在这里再次帮助我,我编辑了这个问题。change$rsmob=mysqli_query($conn,$checkno)
到$rsmob=mysqli\u查询($conn,$checkmob)代码>没有带$checkno
的变量。为了检查手机号码,您使用了变量$checkmob
。谢谢您的帮助$dataa
是一行结果,而不是所有结果的数组,如果没有找到任何结果,则为null
。不要使用计数
,只需测试它是否为空if($dataa)
@DHRUVTHAKKAR我不知道为什么要使用两个查询…如何使用单个查询?请explain@DHRUVTHAKKAR$rsmob=mysqli_查询($conn,$checkno);更改变量名“SELECT*FROM dhruv_users,其中email='$\'u REQUEST[email]'和mobno='$\'u REQUEST[mobno]'”您不知道PHP会替换双引号内的变量吗?