我是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());
}
}
?>
我仔细检查了代码,没有什么不对,我写的就是那个正在制作课程的人。
我输了,因为这是我第一次写这样的代码。
答案 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));
}
}
?>