在php中从post方法输入表单数据

在php中从post方法输入表单数据,php,sql,post,Php,Sql,Post,我有一个主键设置为自动递增的数据库。在php中,我无法从post方法输入表单数据 这是密码。我有用户数据库中的登录表。也是一个窗体,其操作设置为下面的代码 <?php if(isset($_POST['signup'])){ if (isset($_POST['Full-name']) && isset($_POST['psd']) && isset($_POST['email'])) { $link2 = @mysqli_

我有一个主键设置为自动递增的数据库。在php中,我无法从post方法输入表单数据

这是密码。我有用户数据库中的登录表。也是一个窗体,其操作设置为下面的代码

<?php 
if(isset($_POST['signup'])){
    if (isset($_POST['Full-name']) && isset($_POST['psd']) && isset($_POST['email'])) {
            $link2 = @mysqli_connect('localhost', 'root', '') or die("Oops! Can't connect");
            @mysqli_select_db($link2, 'users') or die("Can't find Database");
            $fullname = $_POST['Full-name'];
            $email2 = $_POST['email'];
            $newpassword = $_POST['psd'];
            echo $fullname.$email2.$newpassword; //print sucessfully

            $query2 = mysqli_query($link2, "INSERT INTO logins VALUES (NULL, $email2, $newpassword)");
            if ($query2) {
    echo "You have signed up successfully";
} else {

    echo "Error: ";   //query prints this statement
}
mysqli_close($link2);
        }   

}

?>
尝试:

Insert into logins (Id,email,password) values (NULL, ....

假设您的姓名字段为“Id”、“电子邮件”、“密码”等。

如果Id为空值(自动递增),请尝试此操作,然后您不想将其指定为空。就这样

 $query2 = mysqli_query($link2, "INSERT INTO logins(username,password) VALUES ($email2, $newpassword)");

您必须首先记住,您只为用户名提供了10个字符,为密码提供了8个字符

即使它是一个varchar,它只允许10个charters作为用户名,8个字符作为密码,如果您输入,我确信它将显示您在插入数据库时出错

确保更新或更改数据库中为用户名和密码提供的值

注意:如果用户提供了11个字符的用户名和8个字符的密码,那么它将不会进入数据库

交叉检查:尝试将echo放在语句中,然后退出循环,直接将echo查询放在MYSQL中,这样可以很容易地发现错误,并根据需要进行纠正

考虑到
id
是自动递增的,您的查询需要这样修改

$query2 = mysqli_query($link2, "INSERT INTO logins(`username,password`) VALUES ('".$email2."', '".$newpassword."')");
问题不在于字符数。但它在查询中

$query2 = mysqli_query($link2, "INSERT INTO logins(`username,password`) VALUES ('".$email2."', '".$newpassword."')"); 
没用。但是用,

$query = "INSERT INTO logins(username,password) VALUES ('".$email2."', '".$newpassword."')";
$query2 = mysqli_query($link2, $query);

为我工作!感谢所有回复者。

请显示您的数据库表结构。另外,什么是$email2和$newpassword?请显示您的全部代码。好的,现在它是可见的。谢谢你的回复!哪个字段被设置为空?您的数据库表是什么样子的?这是我的数据库,我试过了,但仍然不起作用。谢谢你的回复!上面写着“错误:”。这是当“if($query2)”为false时的输出。在分配$query2之前,代码将成功运行。我检查过了。请检查您的数据库数据是否已插入。我检查过了,但数据尚未插入。@Arosha Mudalige。请你回显该声明,然后将其放入数据库,并检查一次。你会发现错误所在。我把$query2改成了你说的。但仍然显示“错误:”。你说的回音是指回音$query2;?谢谢你的回复!对您在应用mysqli_query.Put echo:$query=“插入登录(
username,password
)值(“$email2.”,“$newpassword.”)的行上方重复这样的语句对于这一点,请在mysqli_查询行上方放置exit,并在其后放置exit。如果放置echo并退出,则将显示单独的查询,然后如果放置
exit
关键字,则执行将停止,以便您可以复制回显查询并将其放置在数据库的SQL部分并进行检查。