mysql数据库条目显示为空白

时间:2014-05-20 12:53:28

标签: php html mysql

我遇到一个小问题我正在尝试将数据插入mysql数据库但是当我在input box中添加数据时,记录显示为blank entry,我哪里错了。谢谢团队。

我的代码如下:

这是我的索引文件

文件名:index.php

<?php 
// link to the page where the database is being connected
require_once('php/db_connection.php');

// set up your query within a variable to make it easier to work with
$query = "SELECT * FROM people"; //this will select everything out of our database(artificial_test1) from the 'people' table.

$result = mysql_query($query); //this will conect to the database and select the table to run the query on and return the values from that table.

// now we will set up a while loop to retrieve the information from the database table.
 while ($person = mysql_fetch_array($result)) {
    echo "<h3>". $person['name'] ."</h3>"; // this line will fetch the query result that is stored in the $person variable and find the row ['name'] and display it on screen
    echo "<p>". $person['info'] ."</p>"; 
    }
?>
<!-- below we will set up a form to add users to the database -->
<h1>Create a user</h1>
<form action="create_user.php" method="post">
    <label for="">Name</label><input type="text" name"name"><br />
    <label for="">user info</label><input type="text" name"info">
    <br />
    <input type="submit" name="submit" value="submit">
</form>

这是创建用户文件:

文件名:create_user.php

<?php 

    include ('php/db_connection.php');

    $name = $_POST['name'];
    $info = $_POST['info'];

    if (!$_POST['submit']) {
        echo "please fill out the form";
        header('Location: index.php');
    }else{
        mysql_query("INSERT INTO people (`ID`, `name`, `info`) VALUES (NULL, '$name', '$info')") or die(mysql_error());
        echo "User has been added!";
        mysql_close();
        header('Location: index.php');  
    }
?>

这是我的数据库连接文件:

文件名:db_connection.php

<?php 
// set up variables relating to database connection
$db_host =  'localhost'; // this defines the type of server we are connecting to ie:. we are using localhost because we are using a local server to connect to.
$db_user = 'root'; // the user that you are using to log into the database with. default user in our case is 'root'.
$db_password = ''; // if there is a password on the database then that will go in this variable, but we dont have one on the local servers db so we set it to nothing.
$database = 'artificial_test1'; // this is where we select the database that we are going to use.

// this is where we connect to the database we use the php function mysql_connect.
// mysql_connect function will take 3 arguments inside the parentheses and will look like 
// this ie:. mysql_connect(database host, database user, database password).
$connect_db = mysql_connect($db_host, $db_user, $db_password); 

// now we have to select the database that we want to start using. 
// For this we will make use of the php function mysql_select_db(database_name) 
// which will take 1 argument which is the database_name we want to work with
mysql_select_db($database);
?>

3 个答案:

答案 0 :(得分:5)

您忘记了输入名称属性中的等号 -

<label for="">Name</label><input type="text" name="name"><br />
<label for="">user info</label><input type="text" name="info">

此外,您应该从mysql切换到mysqli,因为不推荐使用mysql函数。您还需要保护自己免受可能的SQL Injection Attacks

答案 1 :(得分:1)

在您的表单中,name"name"应为name="name"name"info"应为name="info"

答案 2 :(得分:0)

name属性存在问题,您忘记了add = sign

<label for="">Name</label><input type="text" name"name"><br />
<label for="">user info</label><input type="text" name"info">

应该是

<label for="">Name</label><input type="text" name="name"><br />
<label for="">user info</label><input type="text" name="info"/>