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:xampphtdocsh5admindata 1_login.php</b> on line <b>13</b><br /> 2 <br />
//报错原因是在13行的preg_match()函数中出现编译错误,错误内容是在第7个字符中出现了范围溢出,即正则表达式出错了,12行中的正则表达式中的0-9写成o-9;为啥不会是$aname错误而是正则呢?
//因为字符串的内容是随意的,它只是过来给正则进行匹配,符合返回true,不符合返回false。