1 <?php 2 //響應頭格式為json,編碼為uft-8,注意有- 3 header("Content-Type:application/json;charset=utf-8"); 4 // require_once("00_init.php"); 5 //創建數據庫的連接mysqli_connect如果寫成mysql_connect()會出現access denied拒絕訪問; 6 $conn=mysqli_connect("127.0.0.1","root","","xz",3306); 7 //設置編碼為utf8,注意這里沒有-因為MySQL對這個起名叫utf8,因為在做這個數據庫時寫錯了,因此編碼寫成utf8 8 mysqli_query($conn,"SET NAMES UTF8"); 9 //獲取用戶參數aname和apwd,@可以防止報錯 10 @$aname=$_REQUEST["aname"]; 11 @$apwd=$_REQUEST["apwd"]; 12 $n_reg='/^[a-zo-9A-Z]{3,8}$/'; 13 $n=preg_match($n_reg,$aname); 14 $p=preg_match($n_reg,$apwd);
報錯信息
1 <b>Warning</b>: preg_match(): Compilation failed: range out of order in character class at offset 7 in
<b>C:\xampp\htdocs\h5\admin\data\01_login.php</b> on line <b>13</b><br /> 2 <br />
//報錯原因是在13行的preg_match()函數中出現編譯錯誤,錯誤內容是在第7個字符中出現了范圍溢出,即正則表達式出錯了,12行中的正則表達式中的0-9寫成o-9;為啥不會是$aname錯誤而是正則呢?
//因為字符串的內容是隨意的,它只是過來給正則進行匹配,符合返回true,不符合返回false。
