1#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
1#楼 发表于2004-09-28 23:44:06
评分:1
|
|
关于这个问题,需要详细了解mysql_query()函数的含义。
PHP4官方说明文档中如下解释这个函数:
-------------------------------------------------
语法: int mysql_query(string query, int [link_identifier]);
返回值: 整数
本函数送出 query 字符串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值。当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。
-------------------------------------------------
根据以上官方说明文档的说明可以看出,这个函数的返回值是一个整数。这个整数是一个连接id。
可见,如果语句执行成功,则应该返回一个整数,而不是true或者false。一个整数用if()判断,返回true,所以,当判断为true时,说明语句一定执行成功了。但是返回false时,可能是语句本身有错误、语句当中提供的参数格式有问题等多种情况。
你上面的代码中,如果你的语句有语法错误,那么if()语句不会被执行,因为
$result=mysql_query(...)
这个语句就会报错,到这个地方就停止执行了。
所以,如果你运行这个程序的时候,没有出现系统错误提示,但是可能你察看数据库发现没有插入成功或者其他现象,那说明你提供的两个变量可能有问题,也就是说$user和$pwd可能有问题,比如包含了非法字符(比如单引号)等原因。如果系统直接报错,则说明语句本身有问题,但是据我观察,这个语句没有明显的语法错误。如果有,那么也说明数据库不存在或者其他简单错误。
总之,这个程序看不出来明显的错误。如果运行结果和你的预期结果不一致,那么可能是其他原因。比如两个变量是否为空你是否判断了?$user和$pwd两个字段在数据表内是否为唯一索引字段?或者说是key字段?如果是这样的话,那么不允许重复记录出现,如果试图插入重复纪录,肯定报错。还有,书写格式,拼写等等有无错误?有没有掺入了中文的字符或者空格而没有看出来?这些都是有可能导致问题的因素。
如果还有问题,请详细描述问题特征。比如报错信息,或者执行结果。不要只帖代码。 |
|
2#楼 |
|
|
回复人:yongbbs |
注册时间:2004-09-27 |
主题/回复:6/9 |
积分:439 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
2#楼 发表于2004-09-29 01:03:33
评分:×
|
|
谢谢!站长这么细心的分析解答,真的!!!
我太喜欢你了!哈,,,
我运行了,出现了,注册失败
就说明$result没有值吗?那就是FALSE,所以就运行{echo"注册失败";}
这条语句!!! |
|
3#楼 |
|
|
回复人:xiaotian |
注册时间:2004-10-01 |
主题/回复:1/4 |
积分:409 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
3#楼 发表于2004-10-01 07:54:22
评分:1
|
|
有可能是你的数据库建的有问题,
建立数据库的时候最要要建主键,
主健最要有auto_increment的属性
你可以重新建设数据库后再试试 |
|