新聞中心
php求助,這個(gè)為什么注冊(cè)失敗
mysql_connect.php
成都創(chuàng)新互聯(lián)主營(yíng)東寶網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開(kāi)發(fā),東寶h5小程序開(kāi)發(fā)搭建,東寶網(wǎng)站營(yíng)銷(xiāo)推廣歡迎東寶等地區(qū)企業(yè)咨詢(xún)
?php
function?Err(?$Msg?=?'',?$Url?=?''?)?{
echo?$Msg,?'a?href="'?.?$Url?.?'"返回/a';
die;?
}???
$DB?=?mysql_connect('localhost',?'root',?123?)?or?Err('數(shù)據(jù)庫(kù)服務(wù)器未能連接'?.?mysql_error()?);
mysql_query('set?names?utf8');?//這個(gè)urf8根據(jù)你數(shù)據(jù)庫(kù)的編碼而定,我這是假設(shè)而已
mysql_select_db('user')?or?Err('數(shù)據(jù)庫(kù)選擇失敗'?.mysql_error()?);
注冊(cè)頁(yè)面.php
?php
include_once?'mysql_connect.php';
$Name??=?$_POST['name']??????or?Err('請(qǐng)輸入用戶(hù)名',?'register.php');?
$Pass??=?$_POST['password']??or?Err('請(qǐng)輸入密碼',?'register.php');
$PassT?=?$_POST['pwd_again']?or?Err('請(qǐng)?jiān)俅屋斎朊艽a',?'register.php');
$PassT?==?$Pass??????????????or?Err('兩次密碼輸入不一致',?'register.php');
$result?=?mysql_query("insert?into?`user`?values('{$Name}',?'{$Pass}')")?or?Err('Sql?執(zhí)行失敗'?.?mysql_error()?);
echo?'注冊(cè)',?mysql_affected_rows()???'成功'?:?'失敗';
這樣寫(xiě)有沒(méi)有比你的代碼更簡(jiǎn)潔些呢?
哦,對(duì)了, 你的sql語(yǔ)句那種語(yǔ)法, 沒(méi)有指定具體給哪個(gè)字段寫(xiě)入值, 那等于就是給user表的所有字段都寫(xiě)入值, 而且順序是相等的, 也就是, 你的用戶(hù)名值會(huì)寫(xiě)入id字段, 明顯是不能成功的!
況且,看你的圖, 你的id字段并沒(méi)有默認(rèn)值, 也不是自增值!
建議將我上面代碼中的sql語(yǔ)句改成:
$result?=?mysql_query("insert?into?`user`?(`user`,?`pws`)?values?('{$Name}',?'{$Pass}')")?or?Err('Sql?執(zhí)行失敗'?.?mysql_error()?);
并修改數(shù)據(jù)庫(kù)結(jié)構(gòu),給id字段設(shè)置默認(rèn)值!
php老是會(huì)員注冊(cè)老是在頁(yè)面顯示注冊(cè)失?。晃业拇a如下
一般像這種,你按F12就能看到錯(cuò)誤提示,
如果沒(méi)有的話,那你先斷掉程序,把sql語(yǔ)句打印出來(lái),然后將這條語(yǔ)句放在數(shù)據(jù)庫(kù)工具(比如phpmyadmin)里面執(zhí)行,看一下報(bào)什么錯(cuò),基本上就能知道什么問(wèn)題了。
PHP注冊(cè)不了,可以連接數(shù)據(jù)庫(kù),sql放入數(shù)據(jù)庫(kù)正常使用,就是無(wú)法在頁(yè)面注冊(cè)!
你有一處需要優(yōu)化
2處需要修改
$info=mysql_fetch_array($sql);
if($info==true)
改成
if ( mysql_num_rows($info) )
c錯(cuò)誤的地方是:你把session的值全部設(shè)置成了null值,其實(shí)就是空值!
例外,數(shù)據(jù)庫(kù)顯示不了,只能說(shuō)明寫(xiě)入數(shù)據(jù)庫(kù)失敗,壓根就沒(méi)有寫(xiě)入數(shù)據(jù)庫(kù),你的注冊(cè)根本就沒(méi)有成功
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());
然后運(yùn)行一下,看有什么錯(cuò)誤提示
網(wǎng)站php注冊(cè)用戶(hù)失敗,為什么這句代碼被執(zhí)行了
建議:
把insert 這句SQL打印出來(lái),拿到數(shù)據(jù)庫(kù)里面去執(zhí)行,看看能否成功
不知道你用的是什么SQL DBA,是否query方法只是用于查詢(xún)語(yǔ)句,insert update delete這些是否是用另外的方法,比如execute之類(lèi)的?
PHP把注冊(cè)代碼存入數(shù)據(jù)庫(kù),為什么他老是注冊(cè)失?。?/h2>
有兩處錯(cuò)誤
$sql = "insert into users(user,pass) values('$user','$pass')";改為
$sql = "insert into users(user,pass) values(".$user.",".$pass.")";
$user??$pass? 沒(méi)有賦值操作,應(yīng)該是為空,給它賦值一下應(yīng)該就可以了
php注冊(cè)失敗是沒(méi)和數(shù)據(jù)庫(kù)連接嘛
是。數(shù)據(jù)庫(kù)是php注冊(cè)的支持,因此失敗是沒(méi)進(jìn)行連接的原因。數(shù)據(jù)庫(kù)系統(tǒng),是由數(shù)據(jù)庫(kù)及其管理軟件組成的系統(tǒng),是為適應(yīng)數(shù)據(jù)處理的需要而發(fā)展起來(lái)的一種較為理想的數(shù)據(jù)處理的核心機(jī)構(gòu)。
網(wǎng)頁(yè)標(biāo)題:php數(shù)據(jù)庫(kù)用戶(hù)注冊(cè)失敗 用戶(hù)注冊(cè)失敗怎么回事
網(wǎng)頁(yè)鏈接:http://ef60e0e.cn/article/hpgooi.html