警告:mysqli_error()正好需要1个参数,给出0

时间:2017-09-30 20:28:59

标签: php mysqli

我是PHP的新手,所以我正在学习一门课程。

每当我运行代码时它会告诉我:

  

警告:mysqli_error()预计在第26行的C:\ xampp \ htdocs \ demo \ mysql \ login_create.php中给出1个参数0   查询失败

我的代码:

    <?php
if(isset($_POST['submit'])) {


 $username = $_POST['username'];
 $password = $_POST['password'];

    $connection = mysqli_connect('localhost','root','','loginapp');
    if($connection){
        echo "it works";
}
else {
die('error not connected');
}



$query = "INSERT INTO users('username,password') ";
$query .="VALUES ('$username','$password')";


    $ms = mysqli_query($connection,$query);

    if(!$ms){

        die('query failed'. mysqli_error());

    }
}
?>

我仔细检查了代码,没有什么不对,我写的就是那个正在制作课程的人。

我输了,因为这是我第一次写这样的代码。

2 个答案:

答案 0 :(得分:1)

我选修了这门课,遇到了同样的问题, 奇怪的是,它使我第一次可以执行一次,但是之后每次我尝试提交时都会返回该错误。

对我来说已修复的问题是将表的主键更改为auto_increment。 讲师告诉您忽略ID参数,这很好,但是如果未将其设置为AI,则会出现错误。这是因为主键必须为“ NOT NULL” 您必须进入phpmyadmin并选中“ AI”下的小框以启用自动增量。

答案 1 :(得分:0)

嗯,那是因为mysqli_error()需要一个参数,就像你的警告所说的那样。该函数需要一个链接标识符,在您的情况下为$connection。所以把它传递给函数就像这样:        

 $username = $_POST['username'];
 $password = $_POST['password'];

    $connection = mysqli_connect('localhost','root','','loginapp');
    if($connection){
        echo "it works";
}
else {
die('error not connected');
}



$query = "INSERT INTO users('username,password') ";
$query .="VALUES ('$username','$password')";


    $ms = mysqli_query($connection,$query);

    if(!$ms){

        die('query failed'. mysqli_error($connection));

    }
}
?>

来源:mysqli_error()