<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>插入一条数据</title>
</head>
<body><div backgroundcolor="#006699"><form method="post" name="form1" action="insert.php">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">员工号:</td>
<td><input type="text"name="serial_no" value=" " size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">姓名:</td>
<td><input type="text" name="name" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">年龄:</td>
<td><input type="text" name="age" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">生日:</td>
<td><input type="text" name="bthday" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">工资:</td>
<td><input type="text" name="salary" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">奖金:</td>
<td><input type="text" name="bonus" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td colspan="2" nowrap align="center" ><input type="submit"name="submit" value="提交"></td>
<td nowrap align="left"><input type="reset" name="reset" value="重置"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
<?php
/*
 * Created on 2011-12-20
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
 @mysql_connect("localhost","root")
 or die ("连接数据库服务器失败");
 @mysql_select_db("mydb")
 or die ("数据库不可用或不存在");
 $serial_no=$_post['serial_no'];
 $name=$_post['name'];
 $age=$_post['age'];
 $bthday=$_post['bthday'];
 $salary=$_post['salary'];
 $bonus=$_post['bonus'];
 $query=mysql_query("insert into mytable values($serial_no,'$name','$age','$bthday','$bonus')");
 if($query)  echo "插入数据成功";else
     echo "数据插入失败";
     mysql_close();
?>

解决方案 »

  1.   

    $_POST$serial_no是数字?变量名,大小写敏感。。如果还不对,将表结构、SQL语句打印出来,贴上来
      

  2.   

    value="" 这个值是空的,所以你得到的变量,都是空的,建议你吧这个段删掉。不信你随便echo $serial_no;一个试试。
    1.不是插入的问题,是由于你得到的数据是错误的,然后你的表mytable 应该有设置serial_no部位空吧。 2.你的插入语句的$serial_no两边应该也要加上单引号……
    $serial_no=$_post['serial_no'];
     $name=$_post['name'];
     $age=$_post['age'];
     $bthday=$_post['bthday'];
     $salary=$_post['salary'];
     $bonus=$_post['bonus'];
      

  3.   

    看一下 自己数据库的字段是否对应  先插入一些的值 例如:
    $query=mysql_query("insert into mytable values('22','fdf','age','thday','nus')");  看是否成功   然后很快就找到问题所在并解决之  .....
    跟你说下方法  具体自己要去琢磨   
      

  4.   

    最直接的打印sql语句。之后再检查sql语句。或者将sql语句放在工具里面执行下。看报什么错的。
      

  5.   


    1.大写POST2.$query=mysql_query("insert into mytable values($serial_no,'$name','$age','".$bthday."','$bonus')");
      

  6.   

    $query=mysql_query("insert into mytable(serial_no,$name,$age,bthday,bonus,)
    values($serial_no,'$name','$age','".$bthday."','$bonus')");
      

  7.   

    echo "insert into mytable(serial_no,$name,$age,bthday,bonus,)
    values($serial_no,'$name','$age','".$bthday."','$bonus')";exit;
    看看到底是神马东东