无法将数据连接到MySQL

时间:2014-05-09 19:56:20

标签: php mysql

我似乎无法找出为什么我的PHP代码不允许我在单击提交按钮时将信息存储在MySQL中。有人能告诉我下面的代码有什么问题吗?

我想让用户提交他们的注册表格,他们的信息可以转移到MySQL数据库。然后,我希望用户被带到我的index.html文件。

感谢任何帮助。 感谢

<?php 

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$mysql_database = "21st";
$conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Could not connect database");
        mysqli_select_db($conn, $mysql_database) or die("Could not select database");

$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$password2 = $_POST['password2'];

if ($password == $password2)    {
        $sql = "INSERT INTO members (username, email, password) VALUES ('$userrname','$email','$password')";
} else  {
    echo "Your passwords must match";
}
?>

1 个答案:

答案 0 :(得分:-1)

使用mysqli_query尝试实际运行查询。设置$sql时,所有操作都会为查询设置名为$sql的变量。另请注意,您可以在查询中设置变量$userrname,该变量应该是$username,直接来自上面的$_POST。我调整后的代码版本如下:

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$mysql_database = "21st";

$conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Could not connect database");
mysqli_select_db($conn, $mysql_database) or die("Could not select database");

$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$password2 = $_POST['password2'];

if ($password === $password2) {

  // Set the query.
  $sql = "INSERT INTO members (username, email, password)"
       . " VALUES (?, ?, ?)"
       ;

  // Bind the values to the query.
  mysqli_stmt_bind_param($sql, 'sss', $username, $email, $password);

  // Run the query.
  mysqli_query($conn, $sql);

  // Free the result set.
  mysqli_free_result($sql);

  // Close the connection.
  mysqli_close($conn);

}
else {
  echo "Your passwords must match";
}