
正文
php注册数据排查错误 php注册表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP注册不了,可以连接数据库,sql放入数据库正常使用,就是无法在页面注册!
你有一处需要优化
2处需要修改
$info=mysql_fetch_array($sql);
if($info==true)
改成
if ( mysql_num_rows($info) )
c错误的地方是:你把session的值全部设置成了null值,其实就是空值!
例外,数据库显示不了,只能说明写入数据库失败,压根就没有写入数据库,你的注册根本就没有成功
mysql_query("insert into user (name,pwd,dongjie,email,truename,sfzh,tel,qq,ip,tishi,huida,dizhi,youbian,regtime,lastlogintime,logincishu,pwd1) values ('$name','$pwd','$dongjie','$email','$truename','$sfzh','$tel','$qq','$ip','$tishi','$huida','$dizhi','$youbian','$regtime','$lastlogintime','$logincishu','$pwd1')",$conn);
改成
mysql_query("insert into user (name,pwd,dongjie,email,truename,sfzh,tel,qq,ip,tishi,huida,dizhi,youbian,regtime,lastlogintime,logincishu,pwd1) values ('$name','$pwd','$dongjie','$email','$truename','$sfzh','$tel','$qq','$ip','$tishi','$huida','$dizhi','$youbian','$regtime','$lastlogintime','$logincishu','$pwd1')",$conn) or die(mysql_error());
然后运行一下,看有什么错误提示
相关问答
Q1: PHP注册模块代码 帮忙查下错 老是显示“对不起,注册失败”,连接数据库文件conn.php没有错啊。。。
想知道问题出在哪里,必须输出一下数据库错误信息:
echo mysql_error() . "script language='javascript'alert('对不起,注册失败!');history.back();/script";
echo "insert into tb_user values('$usernc', '$truename', '$pwd', '$email', '$sex', '$tel', '$qq', '$address', '$logintimes', '$regtime', '$lastlogintime', '$ip', '$usertype', '$yb', '$question', '$answer', '$truepwd', '$photo')";
这显然是SQL语句执行失败。你输出一下是什么错误就知道了。
潜在可能的问题是,你直接用的$_POST['tel'],等等而没有进行转义,这样当数据里存在单引号是,你的SQL一定会出问题
Q2: php 注册表单 为什么在显示注册成功后却在数据库里找不到呢 给20分!!
如果在数据库里找不到你注册的东西,建议你从三方面去找原因:
1、检验注册页面,看表单中的name是否设置好,并且看一下是否出名重名的现象。
2、在第一条的基础上,检验接收数据的PHP语句,是接收成功,可以直接输出用以测试是否接收成功,如果在表单中输入的内容,都能输出到页中,说明你接收数据成功了。
3、以上如果都成功,则就是数据在插入到数据库的过程中出错了,你可以从以下几个方面定位数据入库出错的位置,首先,检验一下数据库连接是否成功;其次,看“insert into”这个SQL语言是否有语法错误;其三,最关键的,就是确实要插入的数据类型,跟其对应的数据库表中的字段类型是否对应,比如说是不是在数据类型的字段中输入了字符串,或者,插入字符串时没有引号引起来等等。
Q3: PHP把注册代码存入数据库,为什么他老是注册失败?
有两处错误
$sql = "insert into users(user,pass) values('$user','$pass')";改为
$sql = "insert into users(user,pass) values(".$user.",".$pass.")";
$user $pass 没有赋值操作,应该是为空,给它赋值一下应该就可以了
Q4: php求助,这个为什么注册失败
mysql_connect.php
?php
function Err( $Msg = '', $Url = '' ) {
echo $Msg, 'a href="' . $Url . '"返回/a';
die;
}
$DB = mysql_connect('localhost', 'root', 123 ) or Err('数据库服务器未能连接' . mysql_error() );
mysql_query('set names utf8'); //这个urf8根据你数据库的编码而定,我这是假设而已
mysql_select_db('user') or Err('数据库选择失败' .mysql_error() );
注册页面.php
?php
include_once 'mysql_connect.php';
$Name = $_POST['name'] or Err('请输入用户名', 'register.php');
$Pass = $_POST['password'] or Err('请输入密码', 'register.php');
$PassT = $_POST['pwd_again'] or Err('请再次输入密码', 'register.php');
$PassT == $Pass or Err('两次密码输入不一致', 'register.php');
$result = mysql_query("insert into `user` values('{$Name}', '{$Pass}')") or Err('Sql 执行失败' . mysql_error() );
echo '注册', mysql_affected_rows() ? '成功' : '失败';
这样写有没有比你的代码更简洁些呢?
哦,对了, 你的sql语句那种语法, 没有指定具体给哪个字段写入值, 那等于就是给user表的所有字段都写入值, 而且顺序是相等的, 也就是, 你的用户名值会写入id字段, 明显是不能成功的!
况且,看你的图, 你的id字段并没有默认值, 也不是自增值!
建议将我上面代码中的sql语句改成:
$result = mysql_query("insert into `user` (`user`, `pws`) values ('{$Name}', '{$Pass}')") or Err('Sql 执行失败' . mysql_error() );
并修改数据库结构,给id字段设置默认值!
关于php注册数据排查错误和php注册表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






