php向mysql写入数据

提示注册成功了,可查询表就没没数据~<?php$con=mysql_connect("localhost","root","gl");mysql_select_db("h... 提示注册成功了,可查询表就没没数据~
<?php
$con=mysql_connect("localhost","root","gl");
mysql_select_db("happysea");

$name=$_POST['name'];
$password=$_POST['password'];
$sex=$_POST['sex'];
$e_mail=$_POST['e_mail'];
$question=$_POST['question'];
$answer=$_POST['answer'];

$sql="insert into userinfo(name,password,sex,e_mail,question,answer)
values('$name','$password','$sex','$e_mail','$question','$answer')";

if(!$sql)
{
echo('注册失败!');
}
else
{
echo('注册成功!');
}

?>
这是数据库。。
mysql> describe userinfo;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | text | YES | | NULL | |
| password | varchar(20) | YES | | NULL | |
| sex | char(4) | YES | | NULL | |
| e_mail | varchar(30) | YES | | NULL | |
| question | text | YES | | NULL | |
| answer | text | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
展开
 我来答
zourenfahj
2010-12-23 · TA获得超过112个赞
知道答主
回答量:102
采纳率:0%
帮助的人:62.3万
展开全部
if(!$sql)
{
echo('注册失败!');
}
else
{
echo('注册成功!');
}

这个判断明显是错误的,$sql 这肯定是有值的,它的值就是你给的sql语句。所以不管你怎么注册,都是输出注册成功。而应该判断它的反回值$query=mysql_query($sql,$con);如果注册不成功,$query=flase;否则反之.

参考资料: =

yzbczq329804
2010-12-23 · TA获得超过683个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:253万
展开全部
我也没看出毛病..不过我通常是这样测试的.
echo $sql;
把 sql 语句复制到 数据库,看能否执行成功.

还有..规范里的话. 表明是需要用`(键盘左上角,esc下边,1左边;)符号包围住的.

$sql="insert into `userinfo`(name,password,sex,e_mail,question,answer)
values('$name','$password','$sex','$e_mail','$question','$answer')";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5idev
2010-12-23 · TA获得超过507个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:88.8万
展开全部
$sql="insert into userinfo(name,password,sex,e_mail,question,answer)
values('$name','$password','$sex','$e_mail','$question','$answer')";
if(!mysql_query($sql,$con))
{
echo('注册失败!');
}
else
{
echo('注册成功!');
}

增加 SQL 执行函数 mysql_query()
另外建议在执行SQL之前执行一下字符转换:
mysql_query("set names 'gbk'"); //为避免中文乱码做入库编码转换
如果是utf8,则:
mysql_query("set names 'utf8'");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-12-23
展开全部
看看你的mysql的表里,,有没有主键和自动增加
不然插了不了记录的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式