MYSQL Procedure调用没有在PHP中返回任何内容

时间:2017-11-14 15:48:43

标签: php mysql stored-procedures

我创建了一个MYSQL程序来获取员工详细信息。调用程序是

function call_procedure($procedure)
{
    require_once("database_connect.php");
    $db = Database::getInstance();
    $mysqli = $db->getConnection(); 
    $result = $mysqli->query("CALL $procedure");
    return $result;
}

我使用此功能从另一页调用此函数:

function get_emp_details($parameters){
    //create the query
    $procedure = "fetchEmpDetails($parameters)";

    $result = call_procedure($procedure);

    // check for empty result
    if (mysqli_num_rows($result) > 0) {
        // looping through all results
        // products node
        $response['DATA'] = sqltoarray($result);
        // success
        $response['RESULT'] = 0;
        $response['MESSAGE'] = 'Employee Details found';
        $response['REQUEST'] =1;
    } 
    else {
        $response['DATA'] = '';
        // no products found
        $response['RESULT'] = 1;
        $response['MESSAGE'] = "Incorrect Employee ID";
        $response['REQUEST'] =1;
     }

    // echo no users JSON
    return $response;
}

当我在同一个文件中使用这两个函数时,它工作正常。但是,当我在不同的文件中使用这两个函数时,我在调用get_emp_details函数时没有得到任何结果。

要调试,我试图回显$ procedure和$ result的值。 $ procedure中的字符串是预期的,但我在$ result中收到的值是什么。

login()函数也与get_emp_details()函数在同一个文件中定义,工作正常。导致问题的是get_emp_details()。

任何人都可以帮我吗?在此先感谢...

0 个答案:

没有答案