首页 > 解决方案 > “我已经准备好了mysql调用过程/函数。但是在调用过程/函数时错误来了。”

问题描述

BEGIN
   DECLARE mmyyyy DATE;
    DECLARE retval INT(1);
    DECLARE done INT DEFAULT 0;
    DECLARE cur1 CURSOR FOR 
        SELECT B.TMA_MONTH 
        FROM TRN_EMPLOYEE_MASTER A 
        LEFT JOIN TRN_MONTHLY_ATTENDANCE B 
            ON A.TEM_STAFFNO = B.TMA_STAFFNO 
        WHERE B.TMA_MONTH = mnth 
          AND A.ACT_FLAG = 'Y';
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;    
    SET retval = 1;
    SET mmyyyy = mnth;

    OPEN cur1;  

        read_loop: LOOP
            FETCH cur1 INTO mmyyyy;         
            IF done THEN
                LEAVE read_loop;
            END IF;
            IF mmyyyy IS NULL THEN
                SET retval = 0;
                LEAVE read_loop;
            END IF;
        END LOOP;

    CLOSE cur1;

    RETURN retval;
END

mmyyyy是工资单运行的日期,如下所示:'2020-01-01'

mnth是工资单的运行日期,即'2020-01-01'

调用下面给出的函数的 PHP 代码

朗姆酒后的错误 php 脚本:

解析错误:语法错误,意外的 'var' (T_VAR),在第 19 行的 C:\xampp\htdocs\finance\payrollprocess.php 中期待 '('

<?php
$servername = "10.100.1.45";
$username = "csnis";
$password = "csnis";
$dbname = "hpvp1";
$port = "3306";

DECLARE mmyyyy DATE;
DECLARE retval INT(1);
SET mmyyyy = mnth;
SELECT mnth ;
$con = mysqli_connect($servername, $username, $password);
mysqli_select_db($con,'hpvp1');

$result=mysqli_query($con,CALL tpayroll_attendance_check(mnth))or die(mysqli_error($con));
While($row = mysqli_fetch_array($result))
{

echo "successful";  
}

mysqli_close($con);
?>

标签: mysql

解决方案


推荐阅读