php mysql数据库句子的意思
$sql = $mysqli->query("call pro_login1('".$username."', '".$password."')");
$info = $sql->fetch_array(MYSQLI_ASSOC);
都有什么意思 都各自有什么作用
源程序
<?php
if(isset($_POST['username']) && trim($_POST['username'])!='')
{
require_once 'Db.php';
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$sql = $mysqli->query("call pro_login1('".$username."', '".$password."')");
$info = $sql->fetch_array(MYSQLI_ASSOC);
if($info != null){
$_SESSION['loginUsername'] = $username;
echo '<script>window.location.href="success.php";</script>';
}else {
echo '<div style="width:300px; height:30px; line-height:30px; border:1px solid #E59B04; background-color:#FCF2E0; color:#FF0000;">用户名或密码输入有误</div>';
}
}
?>
追问:第七行的返回数组是给了$info吗
答案:$sql = $mysqli->query("call pro_login1('".$username."', '".$password."')");
#这句假设是执行SQL,那么这句话的意思是,调用query函数,执行 存储过程pro_login1(存储过程类似程序中的函数
$info = $sql->fetch_array(MYSQLI_ASSOC);
#如果$sql 变量实例的类和$mysqli实例化的类是同一个的话,这里是把刚刚query执行返回的参数转换成数组。MYSQLI_ASSOC是mysqli_query的一个参数,具体你可以看看手册
1 if(isset($_POST['username']) && trim($_POST['username'])!='')
2 {
3 require_once 'Db.php';
4 $username = trim($_POST['username']);
5 $password = trim($_POST['password']);
6 $sql = $mysqli->query("call pro_login1('".$username."', '".$password."')");
7 $info = $sql->fetch_array(MYSQLI_ASSOC);
8 if($info != null){
9 $_SESSION['loginUsername'] = $username;
10 echo '<script>window.location.href="success.php";</script>';
11 }else {
12 echo '<div style="width:300px; height:30px; line-height:30px; border:1px solid #E59B04; background-color:#FCF2E0; color:#FF0000;">用户名或密码输入有误</div>';
13 }
14 }
第一行先判断传如的用户名是否存在并且密码不能带有空格
第三行引用的db.php,应该是连接数据库的配置文件
第四、五行是把用户名和密码的中的空格去掉
第六行把用户名和密码传入到存储过程中执行
第七行返回一个数组
第八至十三行,判断这个数组不是空,如果不是,就给一个session作为登录标识,跳转到另外一个页面;否则就是提示用户密码错误。
------------------------------
不懂就追问把。
上一个:VPS中如何安装多MySql数据库
下一个:mysql数据库性能下降,想找到哪些sql耗时较长,应该如何操作