php - 我的注册表详细信息未进入数据库(phpmyadmin)

标签 php mysql forms

每当我尝试任何新注册时,它都会创建用户,但不会将任何信息输入数据库

数据库名称是chatbox 表名称是users

<?php

    if (isset($_POST['submit'])){
    $con = mysql_connect('localhost','root','');
    mysql_select_db('chatbox',$con);

    $uname = $_POST['username'];
    $pword = $_POST['password'];
    $pword2 = $_POST['password2'];

        if($pword != $pword2){

            echo "Passwords do not match. <br>";
                    }

        else {
        $checkexist = mysql_query("SELECT username FROM users WHERE username='$uname'");
        if (mysql_num_rows($checkexist)){
            echo "<center>";
            echo "Username already exists, Please select different username<br>";
            echo "</center>";
            }
        else {
            mysql_query("INSERT INTO users ('username','password') VALUES ('$uname','$pword')");    
            echo "<center>";
            echo "You have successfully registered. Click <a href='index.php'>here</a> to go start chat<br>";
            echo "</center>";
        }
      }
    }

最佳答案

首先,你应该看看 mysqli http://php.net/manual/en/book.mysqli.php它是 mysql 的“改进”版本,并且从 php 5.5 开始不推荐使用 mysql

无论如何,为了帮助诊断,您可以使用“or die”,在脚本失败时输出一条消息。

$con = mysql_connect('localhost','root','') or die("could not connect");
mysql_select_db('chatbox',$con) or die("could not select db");

如果您将用户的密码保存在数据库中,您绝对应该考虑对其进行加密,请参阅:http://php.net/manual/en/faq.passwords.php首先。

Janaka 是对的,在插入语句中,要么对字段使用反引号 ``,要么根本不使用任何类型的引号(用户名、密码)

关于php - 我的注册表详细信息未进入数据库(phpmyadmin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28961190/

相关文章:

PHP - 一个 PHP 函数中的 2 个 MySQL 查询

php - regex_match 的表单验证规则

php preg_match_all 返回数组数组

javascript - 为什么Chrome在加载后将我的页面称为XHR,并执行MySQLi插入两次?

php - php中的用户权限(和多用户登录表单)

php - Laravel 返回最后一个用户

mysql - 有什么方法可以隐藏 MySQL 备份恢复代码中的连接字符串吗?

MySQL:获取约束名称并将其放入一条语句中

javascript - 如何提交包含相关字段列表的表单?

javascript - 使用 CSS 上下对齐按钮