重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql_connect.php
成都创新互联主营东宝网站建设的网络公司,主营网站建设方案,成都app开发,东宝h5小程序开发搭建,东宝网站营销推广欢迎东宝等地区企业咨询
?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字段设置默认值!
一般像这种,你按F12就能看到错误提示,
如果没有的话,那你先断掉程序,把sql语句打印出来,然后将这条语句放在数据库工具(比如phpmyadmin)里面执行,看一下报什么错,基本上就能知道什么问题了。
你有一处需要优化
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());
然后运行一下,看有什么错误提示
建议:
把insert 这句SQL打印出来,拿到数据库里面去执行,看看能否成功
不知道你用的是什么SQL DBA,是否query方法只是用于查询语句,insert update delete这些是否是用另外的方法,比如execute之类的?
有两处错误
$sql = "insert into users(user,pass) values('$user','$pass')";改为
$sql = "insert into users(user,pass) values(".$user.",".$pass.")";
$user $pass 没有赋值操作,应该是为空,给它赋值一下应该就可以了
是。数据库是php注册的支持,因此失败是没进行连接的原因。数据库系统,是由数据库及其管理软件组成的系统,是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。