我在将表单中的信息插入MySQL数据库时遇到问题。
当我点击"提交"按钮,URL从domain.com/register-form.php更改为domain.com/register-script.php,并且它不会向我的数据库表添加任何内容。
在我发现原始代码片段无法正常工作后,我决定将其简化到最低限度,而不使用escape_strings和密码哈希,基本版本仍然没有插入到我的数据库中。< / p>
我确定我只是忽略了一些非常基本的东西,但我无法理解我的生活。所有数据库信息都是正确的,并且用户具有完全权限。
注意:请忽略脚本和用户权限缺乏安全性。这是一项非常简化的测试,但没有成功。
我的文件结构是一个目录,包含以下三个文件:database.php
,register-form.php
,register-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);
}
?>
答案 0 :(得分:0)
首先确保您的phpmyadmin用户名和密码在默认情况下是正确的,它是root和空白。
检查您与mysqli_connect_errno()的数据库连接,实际上您是否已连接到数据库。
使用mysqli_num_rows()检查您的查询是否返回了一些结果。
并在最后关闭mysqli连接。