Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 mysqli_fetch_数组无法工作_Php_Mysql - Fatal编程技术网

Php mysqli_fetch_数组无法工作

Php mysqli_fetch_数组无法工作,php,mysql,Php,Mysql,我尝试在Android应用程序中创建注册登录功能。我试图使用这个Php文件将数据从我的应用程序发送到数据库。但是,当我单击应用程序上的注册按钮时,收到br/错误。看起来mysqli_fetch_数组不工作。有人知道如何解决这个问题吗?谢谢 <?php if($_SERVER['REQUEST_METHOD']=='POST'){ $name = $_POST['name']; $username = $_POST['username']; $password = $

我尝试在Android应用程序中创建注册登录功能。我试图使用这个Php文件将数据从我的应用程序发送到数据库。但是,当我单击应用程序上的注册按钮时,收到br/错误。看起来mysqli_fetch_数组不工作。有人知道如何解决这个问题吗?谢谢

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
    $name = $_POST['name'];
    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];

    if($name == '' || $username == '' || $password == '' || $email == ''){
        echo 'please fill all values';
    }else{
        require_once('dbConnect.php');
        $sql = "SELECT * FROM users WHERE username='$username' OR email='$email'";          
        $result=mysqli_query($con,$sql);
        $check = mysqli_fetch_array($result,MYSQLI_BOTH);   
        if(isset($check)){      
            echo 'username or email already exist';
        }else{          
            $sql = "INSERT INTO users (name,username,password,email) VALUES('$name','$username','$password','$email')";
            if(mysqli_query($con,$sql)){
                echo 'successfully registered';
            }else{
                echo 'oops! Please try again!';
            }
        }
        mysqli_close($con);
    }
 } else{
echo 'error';
}

我认为您应该删除isset check。不管发生什么,它都会回到真的。改为做计数检查

if(count($check)){      
    echo 'username or email already exist';
}else{          
    $sql = "INSERT INTO users (name,username,password,email) VALUES('$name','$username','$password','$email')";
    if(mysqli_query($con,$sql)){
        echo 'successfully registered';
    }else{
        echo 'oops! Please try again!';
    }
}

您有SQL注入的风险…您的脚本有可能发生错误。请看一下在使用过程中发生了什么。您现在看到了什么,
错误
?我喜欢他们不回答或只是离开。对不起,没有魔杖在为你招手;调试你的代码。@tadman谢谢,我会去尝试Laraveleven。如果它返回true,我会得到用户名或电子邮件,但现在它只返回我
,那么这是否意味着这不是设置检查问题?那么其他部分总是在运行?不,我添加了echo“t1”;在$check的顶部=mysqli_fetch_数组和echo't2';在mysqli_fetch_数组的底部。最终,它只返回我t1。因此,这意味着代码停在mysqli_fetch_array,我认为您在查询中给出的列名或表名是错误的。我告诉过您。很高兴我能帮忙。干杯:)
if(count($check)){      
    echo 'username or email already exist';
}else{          
    $sql = "INSERT INTO users (name,username,password,email) VALUES('$name','$username','$password','$email')";
    if(mysqli_query($con,$sql)){
        echo 'successfully registered';
    }else{
        echo 'oops! Please try again!';
    }
}