gpt4 book ai didi

php - 'valueToPass' 中的未知列 'field list' MySQL 错误 # :1054

转载 作者:可可西里 更新时间:2023-11-01 07:42:13 24 4
gpt4 key购买 nike

我在mysql中写了一个存储过程来更新。当您在 mysql 命令行(通过 Mysql 编辑器)中执行它时,它工作正常。

存储过程是:

CREATE DEFINER=`root`@`localhost` PROCEDURE `Deduction_Of_PL`(
IN P_EMPID VARCHAR(1000)
)
BEGIN
DECLARE PresentYearPL VARCHAR(1000);

set PresentYearPL=(select Present_Year_PL from leave_calculate_pl where employee_id=P_EMPID);

IF(PresentYearPL<=0) THEN
UPDATE leave_calculate_pl
SET Carrie_PL=Carrie_PL-1
where employee_id=P_EMPID;
ELSE
UPDATE leave_calculate_pl
SET Present_Year_PL=Present_Year_PL-1
where employee_id= P_EMPID;
END IF;

END $$

我在 PHP 中调用相同的存储过程,我也传递了输入参数。

$LeaveTypeID_G=$this->getLeaveTypeId();
$query_G="CALL Deduction_Of_PL($LeaveTypeID_G)";

它给出的错误是

Unknown column 'parameter_value' in 'field list'  MySQL Error # :1054 

请告诉我哪里出了问题,我该如何解决。

最佳答案

我刚遇到同样的问题。我正在尝试将登录用户的用户名传递给存储过程以将其记录在日志中。

当我直接(从 MySQL Workbench)调用存储过程时它运行良好,并且当我仅传递日期/时间时它在 PHP 中运行良好。现在我将此用户名作为字符串传递,但它损坏了。

对我来说,解决方法是将任何字符串参数括在单引号中,如下所示:
$query = "CALL $procedure_name ($date_parameter, '$string_parameter')";

希望能帮助其他遇到此问题的人。

关于php - 'valueToPass' 中的未知列 'field list' MySQL 错误 # :1054,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6252473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com