Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未与存储过程调用MySQL php绑定的结果_Php_Mysql_Stored Procedures - Fatal编程技术网

未与存储过程调用MySQL php绑定的结果

未与存储过程调用MySQL php绑定的结果,php,mysql,stored-procedures,Php,Mysql,Stored Procedures,我不熟悉存储过程,当我通过PHP调用存储过程时,存储过程返回的结果没有任何值,这使我遇到了一个问题。当我直接在MySQL服务器上手动进行调用时,它工作正常并返回5个值。当我通过php调用该过程时,绑定变量中没有存储任何值 存储过程: DELIMITER $$ CREATE PROCEDURE `TPE_GET_current_repair` (IN current_repair_vid VARCHAR(45)) BEGIN SELECT current_repair_v

我不熟悉存储过程,当我通过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 $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(); } 分隔符$$ 创建过程“TPE\u GET\u current\u repair”(在current\u repair\u vid VARCHAR(45)中) 开始 选择当前维修视频v1; 挑选 系统供应商, 收到日期, 磁带维修问题代码。磁带维修问题原因, 系统磁带类型。磁带类型, 系统捕获位置。捕获位置 从磁带修理 磁带上的内部联接'sys\u vendor`repair.vendor\u id=sys\u vendor.id 磁带上的内部联接'tape\u repair\u problem\u code`on tape\u repair.problem\u code=tape\u repair\u problem\u code.id 磁带上的内部联接'sys\u tape\u type`on tape\u repair.tape\u type\u id=sys\u tape\u type.id 磁带上的内部联接'sys\u capture\u location`repair.capture\u location\u id=sys\u capture\u location.id 式中,vid=当前维修vid; 结束 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 $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(); } $repairData=“调用TPE_GET_current_repair(“$vid”)”; 如果($stmt=$mysqli->prepare($repairData)){ $stmt->execute(); $stmt->bind_result($rpr_vendor,$rpr_rcv_date,$rpr_problem,$rpr_tape_type,$rpr_capt_loctn); $stmt->fetch(); }
我修复了这个问题,忘记了第一个select语句,它导致语句失败