功能描述:仅输入手机号和密码,实现注册功能。手机号有简单的验证,不可重复输入,否则会报500错误。
在使用 RestClient 进行post测试时,如果你把参数放在 【Headers】区块了,那么,插入的数据值是空的,可以看下图:
我把传回的参数值 tel 和 pwd 的值和Content-Type放在一起了,这是不对的,因为【Payload】中的参数为空,因此在查看数据库时,发现插入了一条参数为空的数据:
在使用 RestClient 进行post测试时,【Headers】区块仅仅是添加 Content-Type,而【Payload】区块才是添加参数的地方:
这时也能查到数据:
同查询功能一样,这个接口也是分5步走:
连接服务器,防止中文乱码
选择数据库
执行sql语句,设置post的参数,判断手机号是否重复
根据插入的数据返回值,判断是否新增成功
关闭服务器
下面是代码:
//1、连接服务器
$link = mysql_connect("localhost","root","root") or die ("连接服务器失败".mysql_error());//防止中文乱码
mysql_query("SET NAMES UTF8");//2、选择数据库
mysql_select_db("test",$link) or die("选择数据库失败".mysql_error());//3、执行sql 语句,插入数据库中的数据,也就是参数
$tel = $_POST["tel"];
$pwd= $_POST["pwd"];//判断手机号是否重复
$insert = "select * from t_user where user_phone = '$tel'";
$result=mysql_query($insert);//mysql_num_rows 从查询到的结果集中返回与条件匹配的行数
$rows =mysql_num_rows($result);if($rows == 1){//该手机号巳经存在,直接输出注册失败的结果
$json =json_encode(array("resultCode"=>500,"message"=>"你的手机号巳被注册,请重新输入!"));
echo($json);
}else{//可以注册
$insert = "insert into t_user(user_phone,user_password)values('$tel','$pwd')";//mysql_query 执行除查询外的其它语句,比如,增,删,改时,返回的是布尔类型
$result =mysql_query($insert);//mysql_affected_rows针对insert ,update,delete时,返回受影响的行数。如果新增一条数据,那么这个值就会返回1.可以通过判断这个值,可以确定是否新增成功
$rows =mysql_affected_rows();//4、获取执行结果
if($rows == 1){//注册成功
$json =json_encode(array("resultCode"=>200,"message"=>"注册成功!"));
echo($json);
}else{//注册失败
$json =json_encode(array("resultCode"=>500,"message"=>"注册失败!"));
echo($json);
}
}//5、关闭服务器
mysql_close($link);?>
post接口在本地进行测试的,因此它的接口为:http://localhost/registered.php。
registered.php也就是上面的这段代码。