首页 > 解决方案 > 使用过程和 PDO 从 mysql 返回

问题描述

DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `verifLogin`(INOUT `email` VARCHAR(75), INOUT `password` VARCHAR(30))
READS SQL DATA
SELECT * FROM tblLogon WHERE emailLogon = email and passwordLogon = password$$
DELIMITER ;

try{
        $email = $_POST['emailLog'];
        $password = $_POST['passwordLog'];

        $sql = "CALL verifLogin (?, ?)";

        $stmt = $PDO -> prepare($sql);

        $stmt -> bindParam(1, $email, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 75);
        $stmt -> bindParam(2, $password, PDO::PARAM_STR, 30);

        $stmt -> execute();

        $row = (int) $stmt -> fetchAll(PDO::FETCH_ASSOC);

        if($row > 0){
            $res = array("erro" => "false", "message" => "Ok!");
        }
        else{
            $res = array("erro" => "true", "message" => "Fail! ");
        }
        echo $res['message'];

    } catch (Exception $exc) {
        echo $exc -> getTraceAsString();
}

这是一个登录代码,我没有从mysql得到返回,每次我尝试另一种方式时,错误信息都是一样的,连接正常,但我没有从mysql收到任何信息

标签: phpmysqlpdoprocedure

解决方案


推荐阅读