我已经在这方面工作了一段时间,试图在我的sql中插入一条语句。。但是,我在网上查到后,不断收到错误消息。。请帮助我:)下面是我的代码-
$sql = "INSERT INTO Pokedex(name, nickname, datefound)
VALUES (:name, :nickname, :time);";
$stmt = $db->prepare($sql);
$params = array(":name" => $lcname,
":nickname" => $nickname,
":datefound" => $time);
$stmt->execute($params);
错误消息似乎在抱怨我的sql:
DROP TABLE IF EXISTS Pokedex;
CREATE TABLE Pokedex(
name VARCHAR(30) PRIMARY KEY,
nickname VARCHAR(30),
datefound DATETIME
);
INSERT INTO Pokedex(name,nickname,datefound) VALUES
("Pikachu","Pika","2018-01-03 12:23:44");
以下是错误消息:
致命错误:第45行的/home/ubuntu/workspace/hw7/insert.php中未捕获异常“pdoexception”,消息为“sqlstate[hy093]:无效参数号:未定义参数”
pdoexception:sqlstate[hy093]:无效的参数号:第45行的/home/ubuntu/workspace/hw7/insert.php中未定义参数
Call Stack:
0.0002 238144 1. {main}() /home/ubuntu/workspace/hw7/insert.php:0
0.0098 249912 2. PDOStatement->execute() /home/ubuntu/workspace/hw7/insert.php:45
请帮忙。
2条答案
按热度按时间mxg2im7a1#
:datefound
不是:time
. 您需要匹配指定的占位符(:datefound
),而不是列名(time
).或者你可以用匿名的
?
占位符并将值按正确顺序放入数组中。例如
它们按发生的顺序结合,所以
?
变成$lcname
.vuv7lop32#
你需要绑定参数。请尝试以下代码: