php - 例程 xxx 的 OUT 或 INOUT 参数 1 不是 BEFORE 触发器中的变量或 NEW 伪变量

标签 php mysql pdo

找不到解决方案。 我有以下存储过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_process_upload_log`(
inout prm_upload_id int,
prm_location_id integer,
prm_week_start integer,
prm_error_code integer,
prm_last_attempt_date integer,
prm_error_log_url varchar(256))
BEGIN 
select null from dual;
-- real impementation is ommited, it's not an issue, im sure
end

和相应的 php 代码:

  function update_log($conn, $upload_id, $location_id, $errcode, $att_date, $err_url) {
    $week = 1;
    $sql = "call sp_process_upload_log (:p0,:p1,:p2,:p3,:p4,:p5);";
    try {
      $stmt = $conn->prepare($sql);
      $stmt->bindParam(':p0', $upload_id, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000); 
      $stmt->bindValue(':p1', $location_id); 
      $stmt->bindValue(':p2', $week); 
      $stmt->bindValue(':p3', $errcode); 
      $stmt->bindValue(':p4', $att_date); 
      $stmt->bindValue(':p5', $err_url); 

        if ( ! $stmt->execute() ) {
          post_msg ("PDO Error: ".var_dump($stmt->errorInfo())."\n");
          return false;
        }
     } catch (PDOException $e) {
       post_msg ("Exception: " . $e->getMessage() . "\n");
       return false;
    }
    return $upload_id;
  }

//$conn variable is assigned with db connection resource properly
  $upload_id = update_log($conn, false, 1, false, time(), "someurl");

失败并出现错误:

array(3) {
  [0]=>
  string(5) "42000"
  [1]=>
  int(1414)
  [2]=>
  string(125) "OUT or INOUT argument 1 for routine hex_tvdb.sp_process_upload_log is not a variable or NEW pseudo-variable in BEFORE trigger"
}

即使尝试在 MySQL 查询浏览器中调用该存储过程也会出现相同的错误。

最佳答案

关于php - 例程 xxx 的 OUT 或 INOUT 参数 1 不是 BEFORE 触发器中的变量或 NEW 伪变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9240167/

相关文章:

php - 以数据库base64格式存储的图像如何在PHP中以原始格式检索它

php artisan migrate 抛出 [PDO 异常] 找不到驱动程序 - 使用 Laravel

php - 使用 "set time_zone = ..."连接到数据库后更改时区

php - 在 session 中添加相同数组键的数组值

php - 比较php中的两个整数

php - 如何限制一次登录的数量?

php - PDO 为 select 语句返回错误值

mysql - 试图理解/开始使用 MySQL 中的 k-means 聚类算法

PHP - 创建自定义配置文件页面

php - Magento2目录:images:resize mysql