我的 SQL 注册代码不起作用


My Sql Signup code not working

这是我的注册脚本,它没有给我任何错误,但它不会将数据放入表中,不知道该怎么做:我认为这可能是一些简单的语法错误,但我找不到它。这句话在这里是因为它要求我添加更多信息,但我没有,所以这里是代码:

<?php 
include "dbConfig.php";
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'post') {
    $name = $_POST["name"];
    $password = md5($_POST["password"]);  
    $sql = "INSERT INTO `members`(`name`, `password`) VALUES ($name, $password)";
}
?>

<form name="frmregister" action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
    <input type="text" name="name" size="30" />
    <input type="password" name="password" size="30" />
    <input type="submit" value="Submit" alt="Submit" title="Submit" />
    <input type="reset" value="Reset" alt="Reset" title="Reset" />
</form>

你真的什么都没做。以下是使用mysqli面向对象的表将数据插入到表中的方法:

$servername = "Server Name";
$username = "Username";
$password = "Password";
$dbname = "Database Name";
if ($_SERVER['REQUEST_METHOD'] == 'post') {
    $name = mysqli_real_escape_string($_POST["name"]);
    $pass = md5($_POST["password"]);  
    $conn = new mysqli($servername, $username, $password, $dbname);
    $sql = "INSERT INTO members (name,password)
    VALUES ('".$name."','".$pass."')";
    $conn->query($sql);
    $conn->close();
}

更多关于使用Mysqli面向对象的表在表上插入数据的信息。

感谢埃里克沙哈尔的安全提示!

希望对您有所帮助!

更改:

$sql = "INSERT INTO `members`(`name`, `password`) VALUES ($name, $password)";

自:

$sql = "INSERT INTO `members`(`name`, `password`) VALUES ('$name', '$password')";

然后运行查询:

mysqli_query($connection, $sql);

。像这样,或类似($connection应该在你的配置文件中设置,见 http://php.net/manual/en/mysqli.query.php)