php - 插入数据库

标签 php mysql sql

嘿伙计们,我知道这可能只是一个简单的 sql 语句,但我无法找出问题所在。它将用户添加到数据库,但不会添加用户的名字。如果我切换 SQL 语句,例如在名字之前有用户名和电子邮件,则不会插入密码切换名称和电子邮件。有谁知道如何解决此问题并将所有信息插入数据库中的正确表中。

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php

  $db_server = "server";
       $db_username = "name";
       $db_password = "pass";

       $con = mysql_connect($db_server, $db_username, $db_password);if (!$con)
                {
                    die('Could not connect: ' . mysql_error());
                }

               $database = "Account_Holder"; 

              $er = mysql_select_db($db_username);
        if (!$er) 
        {
         print ("Error - Could not select the database");
         exit;
        }        

        // table name
$tbl_name=Account_Holder;

// Random confirmation code
//$confirm_code=md5(uniqid(rand()));

// values sent from form
$firstName=$_POST['firstName'];
$email=$_POST['email'];
$password=$_POST['password'];
$username=$_POST['username'];



        // Insert data into database
$sql="INSERT INTO $tbl_name(firstname, username, email, password)VALUES('$firstname', '$username', '$email', '$password')";
$result=mysql_query($sql);

echo "You have been added to the database! You may now log on using your username."
       ?>
        <a href ="login.html"> Login Page </a>

    </body>
</html>

最佳答案

我的猜测是您的意思是 $_POST['firstname'] 而不是 $_POST['firstName']

顺便说一句,在像现在这样将用户输入放入数据库之前,您确实需要先对其进行清理。编写针对此代码的 SQL 注入(inject)攻击是微不足道的。首先,通过 mysql_real_escape_string() 运行用户提供的值。就目前而言,如果用户输入包含撇号/单引号,您的代码将无法工作。

如果您认为问题是查询生成了错误,请在 mysql_query() 之后使用 mysql_error() 来查看是否存在错误。如果没有错误,它将返回一个空字符串。否则,将返回错误。

此外,如果可能的话,我强烈建议在 MySQL 中使用哈希函数存储密码(使用 PASSWORD())。

关于php - 插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283101/

相关文章:

php - 如何隐藏字符串中的 x 个字符

php - 使用过滤器根据类别进行搜索

MySQL Select 查询以根据列表值获取记录

javascript - 使用 MySql 数据填充 JavaScript 数组

SQL:基于两列交错值的 ORDER BY

PHP 生成的 csv 文件在 Excel 2007 中显示英镑符号 (£)

php - PHP 的对象浏览器

mysql从一个表中选择所有行,即使在其他使用中间表的情况下不匹配

php - mysql 基于时间戳计数?

sql - 在 select 语句中将连接查询重述为相关子查询