<!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.   

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

  2.   

    1、插入是否成功,不能用 if($query) 来判断,对于非 select 指令,mysql_query 只检查 SQL 指令的语法是否正确
    2、如果 $serial_no 对应的字段是自增字段的话,应为空值,请检查
    3、php 的变量时区分大小写的 $_post 应写作 $_POST
      

  3.   

    请贴出错误提示
    没有显示错误提示的话,在php脚本开头加入
    error_reporting(E_ALL);
    有问题先看错误提示,一般情况问题自然明了
    不懂再去搜索
    再不行才是提问!
      

  4.   


    不是很懂的話,不要誤人子弟好吧。
    第一點:誰說if($query)不能用來判斷的?
    第二點:誰告訴你自增的字段就應為空值?
      

  5.   

    if($query)应该可以判断,或者你可以这样写  mysql_query($sql)or die("数据插入失败!".mysql_error());
    另外, @mysql_connect("localhost","root") or die ("连接数据库服务器失败"),这我比较费解,url,用户,没密码么;最后,为了严谨些,最好判断下字段是否为空
      

  6.   

    mysql查询错误的话, 我习惯性echo $query; 然后复制到phpMyAdmin里面看错误信息.
    原来可以or die(mysql_error());
    学习了.
      

  7.   

    个人感觉你可能是sql的问题,你提交的参数是6个,但是保存的时候只写了5个,你看一下是不是少写了一个,把数据库的表结构也贴出来看一下吧,还有,把$_post改成$_POST。
      

  8.   

    $_post....你还是写成 $_POST吧。。再另外 最好在 ""里的变量用 {}包围下另外你这个 还是直接输出sql 去数据库里跑一下吧
      

  9.   

    <?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("test")
    or die ("数据库不可用或不存在");
    if (isset($_POST['submit']))
    {
    $serial_no=$_POST['serial_no'];
    $name=$_POST['name'];
    $age=$_POST['age'];
    $bthday=$_POST['bthday'];
    $salary=$_POST['salary'];
    $bonus=$_POST['bonus'];
    /*$sql = "insert into mytable values($serial_no,'$name','$age','$bthday','$salary','$bonus')";
    echo $sql;exit;*/
    $query=mysql_query("insert into mytable values($serial_no,'$name','$age','$bthday','$salary','$bonus')");
    if($query)

    echo "插入数据成功";

    else
    echo "数据插入失败".mysql_errno();
    mysql_close();
    }
    ?>
    php代码应改成这样,测试可以插入