PHP无法向mysql插入数据

zhujbing 2006-10-29 10:10:05
<form action="insert.php" method="post" name="form1">

<p>姓名:<input name="name" type="text" size="20">
</p>
<p>Email:<input name="email" type="text" size="20">
</p>
<p>标题:<input name="title" type="text" size="20">
</p>
<p>内容:</p>
<p>
<textarea name="content" cols="60" rows="10"></textarea>
</p>
<input type="submit" name="Submit" value="提交">
</form>

前面已经做了一个提交的表单,现在把它传输到下面的PHP,让它向mysql插入数据,

$id = @mysql_connect("localhost","root","");
mysql_select_db("zhujbing",$id);
echo $id."<br />";
$query = "insert into zjb (name,email,title,content) values ($name,$email,$title,$content)";
$result=mysql_query($query)or die("query error");
mysql_close($id);

当我提交后,到mysql里面查看,插入的是一个空值.

哪位能帮助看下是什么问题
php是:php4.3.10 mysql是:mysql-4.0.20
...全文
296 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlrmq 2006-10-31
  • 打赏
  • 举报
回复
<form action="insert.php" method="post" name="form1">
<p>姓名:<input name="name" type="text" size="20"></p>
<p>Email:<input name="email" type="text" size="20"></p>
<p>标题:<input name="title" type="text" size="20"></p>
<p>内容:</p>
<p><textarea name="content" cols="60" rows="10"></textarea></p>
<input type="submit" name="Submit" value="提交">
</form>

insert.php
---------------
$id = @mysql_connect("localhost","root","");
mysql_select_db("zhujbing",$id);
echo $id."<br />";
$query = "insert into zjb (name,email,title,content) values ('$_POST[$name]','$_POST[email]','$_POST[title]','$_POST[content]')";
$result=mysql_query($query)or die("query error");
if ($result) {
echo "成功";
}
else {
echo "失败";
}
mysql_close($id);

问题一:插入数据库的值要用''括起来;
问题二:最好使用$_POST[]或$_GET[],即使register_globals为ON;
zhangnewhai 2006-10-31
  • 打赏
  • 举报
回复
代码如下:
$name=$_post[name];
$email=$_POST[email];
$title=$_post[title];
$content=$_post[content];
$id = @mysql_connect("localhost","root","");
mysql_select_db("zhujbing",$id);
echo $id."<br />";
$query = "insert into zjb (name,email,title,content) values ('$name','$email','$title','$content')";
$result=mysql_query($query)or die("query error");
mysql_close($id);

就可以了
iasky 2006-10-30
  • 打赏
  • 举报
回复
register_globals现在默认是off

所以你要用$_POST['name']等

具体看手册

http://cn.php.net/manual/zh/reserved.variables.php#reserved.variables.post
「已注销」 2006-10-30
  • 打赏
  • 举报
回复
手册里面都不推荐直接使用get post注册全局变量 应该使用$_GET ,$_POST
visam168 2006-10-30
  • 打赏
  • 举报
回复
问题很多。。。。还需加把劲把php这个小姑娘搞定。。。
engzs 2006-10-29
  • 打赏
  • 举报
回复
看一看register_globals配置选项是不是设置成on,php4.2.0后的版本好像默认设置成off,可以用$_POST['name']这样来获得表单的值

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧