为什么下面程序无法向数据库里面插入$name,如果删除$name,可以插入$number 和$age
 请问这是怎么回事?
<html>
<body>
<form action="add.php" method="post">
姓名:<input type="text" name="name" maxlength="20"  /><br />
年龄:<input type="text" name="age" maxlength="20" /><br />
学号:<input type="text" name="number" maxlength="20" /><br />
<input type="submit" name="submit" value="提交" />
<input type="reset" name="reset" value="重填" />n你想要删除的姓名:<input type="text" name="name" maxlength="20"  /><br />
你想要删除的年龄:<input type="text" name="age" maxlength="20" /><br />
你想要删除的学号:<input type="text" name="number" maxlength="20" /><br />
<input type="submit" name="submit" value="提交" />
<input type="reset" name="reset" value="重填" /></body>
</html>
<?php
$name=$_POST['name'];
$age=$_POST['age'];
$number=$_POST['number'];
//连接数据库
$link=mysql_connect("localhost","root","root");
if($link){
echo"连接成功";
}
else
{
echo "连接失败";
}
echo "<br>";
//选择数据库
if(mysql_select_db('jia',$link))
{
echo "选择数据库成功";
}
else
{
echo"选择数据库失败";
}
//向数据库中插入网页上输入的学号,姓名,年龄$insert="insert into guocong (name,age,number) values($name,$age,$number)";
$x=mysql_query($insert)
//问题怎么把姓名往数据库中插入
or die("<br>插入失败:".mysql_error());
?>
错误提示:连接成功
选择数据库成功
插入失败:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',)' at line 1

解决方案 »

  1.   

    你运行时echo一下SQL语句,看是不是句子有错。
      

  2.   

    $insert="insert into guocong (name,age,number) values($name,$age,$number)";
    改成
    $insert="insert into guocong (name,age,number) values('$name','$age','$number')";values 后面的变量加上单引号试下如果执行不成功,使用你的sql语句,在mysql里执行下就知道是语句的问题,还是程序的问题了。
      

  3.   

    你的提交表单少了一</form> 插入数据库时,要加上引号,因为用户名是字符串吧!不加也行,你在用户名哪里写上数字,看看能不能提交成功!
      

  4.   

    $insert="insert into guocong (name,age,number) values('".$name."','".$age."','".$number."')";
      

  5.   

    检查一下你数据库表的设置 NAME 的属性信息对不?另外试试$insert="insert into guocong (name,age,number) values('$name','$age','$number')";
      

  6.   

    很明显,报sql语句错误了。
    插入前先把 sql 语句 echo出来看看
      

  7.   

    使用单引号,效率高点
    $insert='insert into `guocong` (name,age,number) values("'.$name.'","'.$age.'","'.$number.'")';
      

  8.   

    你的注意下 sql 语言在php 里面的写法
      

  9.   

    碰到关健字,请毫不犹豫的 加上 ``
    $insert="insert into guocong (`name`,age,number) values('".$name."','".$age."','".$number."')";
    $insert="insert into guocong (`name`,age,number) values('".$name."','".$age."','".$number."')";
      

  10.   

    应该是name字段插入时需要‘’,估计age和number是int所以可以忽略
      

  11.   

    姓名 和 你要删除的姓名  都是 name="name"
    年龄 和 你要删除的年龄  都是 name="age"
    学号 和 你要删除的学号  都是 name="number"在承接数据的时侯不会出错吗???????