当前位置:数据库 > MySQL >>

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耗时较长,应该如何操作

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,