php - 值未添加到数据库中

标签 php mysql database

我对 PHP 和 Mysql 非常陌生。我已经制作了注册表单,但输入的值没有保存在我的数据库中。我不知道为什么。我已连接到数据库。有人能给我一些见解吗?顺便说一句,我知道你会说“Mysql”已被弃用。但我才刚刚开始学习这一切是如何运作的。一旦我彻底了解了流程,我就会将代码更改为 Mysqli...

    <?php

    //form data
    $submit = strip_tags($_POST['submit']);
    $fname =  strip_tags($_POST['fname']);
    $lname = strip_tags($_POST['lname']);
    $usernamereg = strip_tags($_POST['usernamereg']);
    $passwordreg = strip_tags($_POST['passwordreg']);
    $email = strip_tags($_POST['email']);
    $emailcheck = strip_tags($_POST['emailcheck']);
    $date = date("Y-m-d");





    if($submit)
    {
//check for existence
        if($fname&&$lname&&$usernamereg&&$passwordreg&&$email&&$emailcheck)
        {   
    //encrypt password
    $password = md5($passwordreg);

      if(strlen($usernamereg)>25)
      {
        echo "Username must be 25 characters or less.";
      }
      else
      {
        //checks password length
        if(strlen($passwordreg)<6)
        {
            echo "Passwords must be atleast 6 characters long";
        }
        else
        {
            if($email!=$emailcheck)
            {
            echo "emails to not match";
            }
            else
            {

                //open database
                $connect = mysql_connect("localhost","root","clandestine");
                mysql_select_db("user_db"); //selects database

                $queryreg = mysql_query("INSERT INTO users VALUES('','$date','$fname','$lname','$usernamereg','$passwordreg','$email','$emailcheck'");
                echo "You have been registered!";

            }
        }

    }

}
else
    echo "Please fill in <b>all</b> fields!";

最佳答案

尝试在 INSERT 查询中分配列。

$queryreg = mysql_query("INSERT INTO users (`randomField`, `date`, `first_name`, `last_name`, `username`, `password`, `email`, `email_check`) VALUES ('','$date','$fname','$lname','$usernamereg','$passwordreg','$email','$emailcheck'");

第一列应该是什么?

你做过健全性检查吗? (即,在代码中的某些点将测试数据打印到屏幕上,以确保 IF 语句的计算结果为 true?

此外,尝试将 INSERT 查询保存为变量字符串:

$query = "INSERT INTO.............";

然后将其打印到屏幕上。将该查询复制并粘贴到 PHPMyAdmin(如果您有权访问它)中,然后查看您的语句是否有任何错误。 PMA 会告诉您存在哪些错误(如果有)。

编辑:另外,请不要对密码或其他高度敏感的数据进行 MD5 处理。使用安全算法并对密码加盐。如果您不确定这一切意味着什么:

引用this link

关于php - 值未添加到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22335925/

相关文章:

php - 在数据库或文件中缓存数据?

php - 如何更新 joomla 模块或后端中的表?

javascript - 如何使用 Javascript XMLHttpRequest 将 JSON 数据对象发送到服务器?

PHP 不重新加载将值提交到 MySQL 数据库(不返回)

backup - MySQL 仅备份 innodb 表

database - 一致性哈希中的不可用节点

java - 将变量存储到我的服务器

php - 语法错误,查询中出现意外的 'UNION' (T_STRING) 联合

mysql - MariaDb 通过 Puppet 和 Vagrant

mysql - 仅使用一个条件基于不相等选择行