gpt4 book ai didi

php - 没有错误,但是我的记录没有被添加到我的数据库中

转载 作者:行者123 更新时间:2023-12-01 00:22:39 24 4
gpt4 key购买 nike

我是 PHP 和 MySQL 的新手,我已经研究了三天,这个问题让我很困惑。我没有收到任何错误,也没有查询添加到我的数据库中。在页面 register.php 排队后,它应该加载 login.php 并显示 Registered 文本,但它是空白的并且没有记录添加到数据库中。

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

<?php

$page_title = 'Register';
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
include_once "connect.php";

$errors = array();
if( empty( $_POST['user_id']))
{
$errors[] = 'Enter your user ID.';
}
else
{
$ui = mysqli_real_escape_string($db_name, trim($_POST['user_id']));
}
if ( empty($POST['pass1']))
{
if($_POST['pass1'] != $_POST['pass2'])
{
$errors[] = 'Passwords do not match.';
}
else
{
$fn = mysqli_real_escape_string($db_name, trim($_POST['pass1']));
}
}
else
{
$errors[] = 'Enter your Password.';
}
if (empty($errors))
{
$q = "INSERT INTO User_id
(user,password)
VALUES ('$ui','$fn',SHA('$fn'),NOW())";
$r = mysqli_query ($db_name,$q);

if ($r)
{
echo '<h1>Registered!</h1>

<p> You are now registered.</p>
<p><a href="login.php">Login</a></p>';
}
mysqli_close( $db_name);
exit();
}
else
{
echo '<h1>Error!</hl>
<p id="err_msg">The following error(s) occurred:<br>';
foreach ($errors as $msg)
{
echo "-$msg<br>";
}
echo 'Please try again.</p>';
mysqli_close( $db_name);
}
}
?>

<h1>Register</h1>
<form action = "register.php" method="POST">
<p>
User ID: <input type="text" name= "user_id"
value="<?php if (isset( $_POST[ 'user_id']))
echo $_POST[ 'user_id'];?>">
Password: <input type="password" name="pass1"
value="<?php if (isset($_POST['pass1']))
echo $_POST ['pass1'];?>">
Confirm Password: <input type="password" name="pass2"
value="<?php if(isset($_POST['pass2']))
echo $_POST['pass2'];?>">
</p> <p>
<input type="submit" value= "Register"> </p>
</form>

</body>
</html>

最佳答案

您告诉 MySQL 您想要将数据插入两列,然后给它四个要插入的值。那会导致错误。但是你看不到它,因为你没有检查 mysqli_error()在您查询之后。

$q = "INSERT INTO User_id (user,password) VALUES ('$ui','$fn',SHA('$fn'),NOW())";
^^^ 2 columns ^^^ 4 values

这是一个非常基本的错误处理示例:

$r = mysqli_query ($db_name,$q);
if ($r === false) {
echo mysqli_error($db_name);
exit; // This needs to be a lot better
}

关于php - 没有错误,但是我的记录没有被添加到我的数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21766388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com