0

我是存储过程的新手,当我通过 PHP 调用存储过程时,我遇到了存储过程返回的结果没有任何值的问题。当我直接在 MySQL 服务器上手动进行调用时,它工作正常并返回 5 个值。当我通过 php 调用该过程时,绑定变量中没有存储任何值。

存储过程:

    分隔符 $$

    创建过程“TPE_GET_current_repair”(在 current_repair_vid VARCHAR(45) 中)
    开始
    选择 current_repair_vid v1;

    选择
        sys_vendor.vendor,
        接收日期,
        tape_repair_problem_code.tape_repair_problem_reason,
        sys_tape_type.tape_type,
        sys_capture_location.capture_location
    从tape_repair
        在 tape_repair.vendor_id = sys_vendor.id 上的内部联接`sys_vendor`
        在tape_repair.problem_code = tape_repair_problem_code.id 上的INNER JOIN `tape_repair_problem_code`
        在tape_repair.tape_type_id = sys_tape_type.id 上的内部连接`sys_tape_type`
        在tape_repair.capture_location_id = sys_capture_location.id 上的内部连接`sys_capture_location`
    哪里 vid = current_repair_vid;
    结尾

PHP:

    $repairData = "CALL TPE_GET_current_repair('$vid')";
    if ($stmt = $mysqli->prepare($repairData)) {
        $stmt->执行();
        $stmt->bind_result($rpr_vendor, $rpr_rcv_date, $rpr_problem, $rpr_tape_type, $rpr_capt_loctn);
        $stmt->fetch();
    }

4

1 回答 1

0

我解决了这个问题,我忘记了第一个 select 语句,它导致语句失败。

于 2013-11-15T19:12:07.480 回答