方法/:
網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了萬山免費建站歡迎大家使用!
1、數(shù)據(jù)庫連接第一步:配置mysql_connect()的參數(shù),參數(shù)依次為:主機地址,用戶名,用戶密碼;
2、mysql_pconnect()與mysql_connect()是不一樣的,pconnect顧名思義是持久連接;
3、服務器連接成功后,需要選擇需要用的數(shù)據(jù)庫;
4、使用mydql_close()可以關閉數(shù)據(jù)庫連接資源,避免長時間占用啟用資源消耗;
5、mysqli_connect( )是mysql連接的另一種方式,參數(shù)形式一樣;
6、首次使用mysql連接數(shù)據(jù)庫時,要記得使用輸入邏輯判斷,服務器連接不成功或者選擇數(shù)據(jù)庫不成功,都要用Mysql_error或者mysql_errno來報錯;
7、mysql的報錯,能夠幫助準確地定位到錯誤發(fā)生在哪里。
首先得到提交的數(shù)據(jù)
鏈接數(shù)據(jù)庫,查詢數(shù)據(jù)庫,查詢username 和pwd
提交的username 和 pwd? 跟數(shù)據(jù)庫查詢的username 和pwd做對比,
都相等那就是登陸成功
?php
mysql_connect('localhost','root','123');
mysql_select_db('lx');
mysql_query("SET?CHARACTER?SET?utf8");
mysql_query("SET?NAMES?utf8");
//數(shù)據(jù)庫lx?表user??字段id?username??pwd
//用md5加密,可以自己試試????
if(isset($_POST['user'])$_POST['tijiao']?==?'success'){
$query?=?mysql_query("select?pwd?from?user?where?username?=?'".$_POST['user']."'");
$num?=?mysql_num_rows($query);
if($num??0?){
while($info?=?mysql_fetch_array($query)){
if($info['pwd']?==?md5($_POST['pwd'])){
echo?'登陸成功';
}else{
echo?'登陸失敗';????
}
}
}else{
echo?'登陸失敗';
}
}
?
form?action=""?method="get"/
table?border="0"?cellspacing="0"?cellpadding="0"?
tr
td?class="fieldKey"?width="30%"用戶名:/td
td?class="fieldValue"?width="100%"input?type="text"?name="user"?//td
/tr
trtd?height="10"/td/tr
tr
td?class="fieldKey"密碼:/td
td?class="fieldValue"input?type="password"?name="pwd"?//td
/tr
/table
input?type="hidden"?name="tijiao"?value="success"?/
input?type="submit"?value="登陸"/
/form
1、檢查環(huán)境正常
使用mysql -u root -p 可以進入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php執(zhí)行可以連上數(shù)據(jù)庫
2、打開hosts加入
復制代碼代碼如下:127.0.0.1 qttc
使用qttc當主機連接也正常,唯獨就不認localhost。
3、localhost連接方式不同導致
為了了解PHP連接數(shù)據(jù)庫時,主機填寫localhost與其它的區(qū)別閱讀了大量資料,最后得知:
當主機填寫為localhost時mysql會采用 unix domain socket連接
當主機填寫為127.0.0.1時mysql會采用tcp方式連接
這是linux套接字網(wǎng)絡的特性,win平臺不會有這個問題
4、解決方法
在my.cnf的[mysql]區(qū)段里添加
復制代碼代碼如下:
protocol=tcp
保存重啟MySQL,問題解決!
if($user=='user' $pwd=='pwd'){ echo '登陸成功'; }else{ echo '用戶名或密碼錯誤'; } ? ?php $username=$_POST[username];