MySQL查询:参数号无效:未定义参数

问题描述 投票:0回答:1

查询:

$sql = "UPDATE `course` SET 
    `courselocation_id` = :courselocation_id,
    `courselocation_period_id` = :courselocation_period_id,
    `start_date` = :start_date,
    `instructor_id` = :instructor_id,
    `edited_by` = :edited_by,
    `edited_at` = :edited_at
WHERE `id` = :id";

$params = [
    ":courselocation_id" => 4,
    ":courselocation_period_id" => 8,
    ":start_date" => "2018-09-17",
    ":instructor_id" => 17,
    ":edited_by" => 1,
    ":edited_at" => 1536828797,
    ":id" => 2533
];

$query = $db->prepare($sql);
$query->execute($params);

正常执行,数据写入,但我收到一个错误:

PHP警告:PDOStatement :: execute():SQLSTATE [HY093]:参数号无效:参数未在第188行的/path/to/script.php中定义

第188行实际上是$ query-> execute($ params)

我该如何解决这个问题?

更新:

它看起来像另一个查询是这个警告的原因,就像@RiggsFolly建议的那样。当我评论出这一个时,另一个没有被执行,这就是为什么它不被“关注”。另一个查询有一个拼写错误的参数(而不是:intitutionID有:institutionId)。

php mysql pdo
1个回答
0
投票

它看起来像另一个查询是这个警告的原因,就像@RiggsFolly建议的那样。当我评论出这一个时,另一个没有被执行,这就是为什么它不被“关注”。另一个查询有一个拼写错误的参数(而不是:intitutionID有:institutionId)..

© www.soinside.com 2019 - 2024. All rights reserved.