我正在尝试为MySQL数据库创建存储过程。存储过程应该可以获取每个员工在特定项目上用于午餐的金额。我遇到的问题是我无法让存储过程返回任何值。当我将它作为SQL查询运行并输入我的变量应该是的日期时,它可以正常工作。我正在使用MySQL。这是我的存储过程:
DELIMITER $$
CREATE PROCEDURE `class`.`PricePaid`(varBeginningDate DATE)
BEGIN
SELECT Item_Desc, SUM( Item_Price ) AS 'Total Price Paid'
FROM Lunch, Item, Lunch_item
WHERE Lunch.Lunch_id = Lunch_item.Lunch_id
AND Item.Item_Number = Lunch_item.Item_Number
AND DATEDIFF(Lunch.Lunch_Date, "'" + varBeginningDate + "'") > 0
GROUP BY Item.Item_Desc;
END
调用该函数的我的PHP代码是这个
<?php
include("Functions.php");
if(isset($_POST['SubmitPricePaid'])){
$strSQL = "CALL `class`.`PricePaid`('{$_POST[$PricePaidDate]}');";
}
?>
<?php if(isset($_POST['SubmitPricePaid'])){
print_report($strSQL, $db);
}
?>
答案 0 :(得分:0)
让我们从调试开始:
<?php
include("Functions.php");
if(isset($_POST['SubmitPricePaid'])){
$strSQL = "CALL `class`.`PricePaid`('{$_POST[$PricePaidDate]}');";
var_dump($strSQL);
var_dump($db);
exit(); //EDITED
print_report($strSQL, $db);
}
?>
你能发布var_dump的结果......我需要看看那些结果