我是存储过程的新手,当我通过PHP调用存储过程时,我遇到存储过程返回的结果没有任何值的问题。当我直接在MySQL服务器上手动拨打电话时,它工作正常并返回5个值。当我通过php调用该过程时,没有值存储在绑定变量中。
存储过程:
DELIMITER $$ CREATE PROCEDURE `TPE_GET_current_repair` (IN current_repair_vid VARCHAR(45)) BEGIN SELECT current_repair_vid v1; SELECT sys_vendor.vendor, receive_date, tape_repair_problem_code.tape_repair_problem_reason, sys_tape_type.tape_type, sys_capture_location.capture_location FROM tape_repair INNER JOIN `sys_vendor` on tape_repair.vendor_id = sys_vendor.id INNER JOIN `tape_repair_problem_code` on tape_repair.problem_code = tape_repair_problem_code.id INNER JOIN `sys_tape_type` on tape_repair.tape_type_id = sys_tape_type.id INNER JOIN `sys_capture_location` on tape_repair.capture_location_id = sys_capture_location.id WHERE vid = current_repair_vid; END
PHP:
$repairData = "CALL TPE_GET_current_repair('$vid')"; if ($stmt = $mysqli->prepare($repairData)) { $stmt->execute(); $stmt->bind_result($rpr_vendor, $rpr_rcv_date, $rpr_problem, $rpr_tape_type, $rpr_capt_loctn); $stmt->fetch(); }
答案 0 :(得分:0)
我修复了这个问题,我忘记了第一个select语句,导致语句失败。