Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我不能检查我的电子邮件和暴徒是否已经存在?_Php_Mysql - Fatal编程技术网

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文件,我试图在其中检查电子邮件是否已经存在

        <?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会替换双引号内的变量吗?