没有数据插入数据库

时间:2013-09-05 09:40:57

标签: php mysqli

我是使用PHP的新手

这是我的HTML

<html>
<head>
<link rel="stylesheet" type="text/css" href="design.css">
</head>
<form action="process.php" method="post">
<body>
Username: <input type="text" name="username" maxlength="45" ><br>
Password: <input type="text" name="password" maxlength="45"><br>
Confirm Password: <input type="text" name="password" maxlength="45"><br><br>

First Name: <input type="text" name="first_name" maxlength="45"><br>
Middle Name: <input type="text" name="middle_name" maxlength="45"><br>
Last Name: <input type="text" name="last_name" maxlength="45"><br>
Birthday: <input type="text" name="birthday" maxlength="45"><br>
E-Mail: <input type="text" name="email_add" maxlength="45"><br><br>

<input type="submit" value="SAVE" style="width: 120px;height: 25px;">
</body>
</form>
</html>

这是我的PHP

<?php
$con=mysqli_connect("localhost","root","","sampledb");

if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO account (username, password, confirm_pwd, first_name,
                       middle_name, last_name, birthday, email_add) VALUES
('$_POST[username]','$_POST[password]','$_POST[confirm_pwd]',
'$_POST[first_name]','$_POST[middle_name]','$_POST[last_name]',
'$_POST[birthday]','$_POST[email_add]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
?>

我哪里出错了?有人能告诉我吗?我做错什么了吗?当我尝试保存它时,它只是重定向到process.php,我检查了数据库但它没有向数据库插入任何数据。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取发布的变量。

$_POST['username']
-------^--------^--

将发布的字段名称包装成单引号或双引号,否则将计为常量。

修改

$sql="INSERT INTO
account
(
    username,
    password,
    confirm_pwd,
    first_name,
    middle_name,
    last_name,
    birthday,
    email_add
)
VALUES
(
    '".$_POST['username']."',
    '".$_POST['password']."',
    '".$_POST['confirm_pwd']."',
    '".$_POST['first_name']."',
    '".$_POST['middle_name']."',
    '".$_POST['last_name']."',
    '".$_POST['birthday']."',
    '".$_POST['email_add']."'
)";

按评论编辑

您有两个与password同名的字段,因此请相应地进行更改