输入值不会显示在浏览器中而是显示空白字段

时间:2013-08-31 11:50:34

标签: php mysql

我只需要将我的表单数据插入到mysql数据库&在浏览器中显示它。但是,当我填写表格&点击提交,行被添加,但没有数据,除了自动增加的ID字段..甚至phpmyadmin中的表看起来与添加的行相同空文件。 任何建议都将受到高度赞赏......

我的html表单看起来像这样,

<table border="1">
  <tr>
    <td align="center">Form Input Students Data</td>
  </tr>
  <tr>
    <td>
      <table>
        <form method="POST" action="data_insert_htmlform.php/">
        <tr>
          <td><label for="Name">Name</label></td>
          <td><input type="text" name="name" size="20">
          </td>
        </tr>
        <tr>
          <td><label for="Age">Age</label></td>
          <td><input type="text" name="age" size="20">
          </td>
        </tr>
        <tr>
          <td><label for="Birth_Date">Birth_Date</label></td>
          <td><input type="text" name="Birth_Date" size="20">
          </td>
        </tr>
        <tr>
          <td><label for="Address"Address</label></td>
          <td><input type="text" name="address" size="40">
          </td>
        </tr>
        <tr>
          <td></td>
          <td align="center">
              <input type="submit" name="submit" value="Sent">
          </td>
        </tr>
        </form>
        </table>
      </td>
    </tr>
</table>

和我的PHP代码,

<?php

error_reporting(E_ERROR | E_PARSE);

$database = 'students';
$continued=mysql_connect("localhost" , "root", "");

if(mysql_select_db($database))
echo ("<br><br>connection to the database succeeds");
else
echo ("connection failed");

/*$name = $_POST['name'];
$age = $_POST['age'];
$birth_date = $_POST['Birth_date'];
$address = $_POST['address'];*/

$insert = "INSERT INTO students_basicinfo(Name, Age, Birth_Date, Address) VALUES ('{$_POST['name']}','{$_POST['age']}' , '{$_POST['Birth_date']}' , '{$_POST['address']}')";

$abc = mysql_query($insert);
if($abc){
    echo("<br>Input data is succeed");
}else{
    echo("<br>Input data is fail");
}

$order = "SELECT * FROM students_basicinfo";
$result = mysql_query($order);

if($result === FALSE) {
die(mysql_error()); // TODO: better error handling
}

echo "<table border='1'>";

    while($data = mysql_fetch_array($result))
    {
        echo "<tr>";
               echo "<td>".$data[ID]."</td>";
               echo "<td>".$data[Name]."</td>";
               echo "<td>".$data[Age]."</td>";
               echo "<td>".$data[Birth_Date]."</td>";
               echo "<td>".$data[Address]."</td>";
        echo "</tr>";
    }

echo "</table>";

?>

4 个答案:

答案 0 :(得分:1)

关于input name case sensitive

的问题

使用大写$_POST['Birth_date']

$_POST['Birth_Date']更改为D

尝试以下查询,这将有效。

$insert = "INSERT INTO students_basicinfo(Name, Age, Birth_Date, Address) VALUES ('{$_POST['name']}','{$_POST['age']}' , '{$_POST['Birth_Date']}' , '{$_POST['address']}')";

答案 1 :(得分:0)

<强>替换

'{$_POST['name']}','{$_POST['age']}' , '{$_POST['Birth_date']}' , '{$_POST['address']}'

<强>与

'".$_POST['name']."','".$_POST['age']."' , '".$_POST['Birth_date']."' , '".$_POST['address']."'

答案 2 :(得分:0)

尝试:

 echo "<tr>";
               echo "<td>".$data['ID']."</td>";
               echo "<td>".$data['Name']."</td>";
               echo "<td>".$data['Age']."</td>";
               echo "<td>".$data['Birth_Date']."</td>";
               echo "<td>".$data['Address']."</td>";
        echo "</tr>";

答案 3 :(得分:0)

(使用准备好的陈述。)

  • 将语句转储到HTML评论<!-- ... --->中,以便您自行尝试。
  • 使用echo mysql_error()检查错误。
  • 我不相信日期字段,DATE?使用'2013-08-31 or '2013-08-31 14_:07 /'2013-08-31T14_:07`。