PHP不会插入MySQL

时间:2015-02-05 05:31:30

标签: php mysql database

我在将表单中的信息插入MySQL数据库时遇到问题。

当我点击"提交"按钮,URL从domain.com/register-form.php更改为domain.com/register-script.php,并且它不会向我的数据库表添加任何内容。

在我发现原始代码片段无法正常工作后,我决定将其简化到最低限度,而不使用escape_strings和密码哈希,基本版本仍然没有插入到我的数据库中。< / p>

我确定我只是忽略了一些非常基本的东西,但我无法理解我的生活。所有数据库信息都是正确的,并且用户具有完全权限。

注意:请忽略脚本和用户权限缺乏安全性。这是一项非常简化的测试,但没有成功。

我的文件结构是一个目录,包含以下三个文件:database.phpregister-form.phpregister-script.php

我的数据库表Users的结构如下:

  

user_username varchar(255)COLLATE utf8_unicode_ci NOT NULL,
  user_password varchar(255)COLLATE utf8_unicode_ci NOT NULL,
  user_email varchar(255)COLLATE utf8_unicode_ci NOT NULL

database.php中:

<?php
    $hostname = "localhost";
    $user = "databaseuser";
    $password = "databasepassword";
    $database = "databasename";
    $prefix = "";
    $database = mysqli_connect($hostname,$user,$password,$database);
?>

寄存器form.php的

<?php require 'database.php' ?>

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>
<body>

<form name="register" action="register-script.php" method="post">
<label>Desired Username: </label>
<input type="text" name="newuser_username" placeholder="Desired Username">
<label>Password: </label>
<input type="password" name="newuser_password" placeholder="Password">
<label>Email: </label>
<input type="email" name="newuser_email" placeholder="Email Address">
<input type="submit" name="register_button" value="Sign Up!">
</form>

</body>
</html>

寄存器的script.php

<?php
    require 'database.php';

    if(isset($_REQUEST['register_button'])){
        $username = $_REQUEST['newuser_username'];
        $password = $_REQUEST['newuser_password'];
        $email = $_REQUEST['newuser_email'];

        $sql = "INSERT INTO users (user_username,user_password,user_email) VALUES ('$username','$password','$email')";

        mysqli_query($database,$sql);

    }

?>

1 个答案:

答案 0 :(得分:0)

首先确保您的phpmyadmin用户名和密码在默认情况下是正确的,它是root和空白。

检查您与mysqli_connect_errno()的数据库连接,实际上您是否已连接到数据库。

使用mysqli_num_rows()检查您的查询是否返回了一些结果。

并在最后关闭mysqli连接。