【发布时间】:2022-12-03 02:29:21
【问题描述】:
我已连接到数据库并能够更新记录。 我有一个名为“action”的变量,它可以是“update”或“add”。
我在 switch 语句中使用它来将我的查询设置为“SELECT”或“INSERT”。
选择语句有效。 INSERT 语句没有。
我在 $pdo->execute($data) 上得到这个错误。
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in ...
PDOStatement->execute(Array)
该错误由 PDOStatement 抛出
这是我尝试过的方法,看起来很简单,但我正在为此苦苦挣扎。
$data = [
'firstName'=> $firstName,
'lastName'=> $lastName,
'badge'=> $badge,
'department'=> $department,
'image'=> $image,
'active'=> $active,
'stars'=> $stars,
'email'=> $email,
'primary_key'=> $primaryKey,
];
$sql = "INSERT INTO `team`
(`primary_key`,`firstName`, `lastName`, `badge`, `department`, `image`, `active`, `stars`, `email`)
VALUES
(NULL, :firstName, :lastName, :badge, :department, :image, :active, :stars, :email)";
$pdo->prepare($sql);
$pdo->execute($data); <- error is here
当我简单地回显我的 $data 数组以查看是否有奇怪的东西时。我没有看到任何基于所有站点的内容,我已经阅读过。
//$data array DATA
primary_key =
firstName = test
lastName = test
badge = 9000
department = marketing
image = 9000.jpg
active = 1
stars = 0
email = tester@test.com
db中的primary_key是自增的 primary_key 是 $_post[] 更新查询和 NULL 插入查询(自动递增 db 列)
您可以看到任何会阻止此 INSERT 查询工作的错误吗?我卡住了。我知道数组有 9 个变量,有 9 个要插入的字段,并列出了 9 个值。
【问题讨论】: