錯誤記錄PHP preg_match(): Compilation failed: range out of order in character class at offset 7 01_login.php on line 13


 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。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM