繁体   English   中英

致命错误:调用未定义的方法PDOStatement :: prepare()

[英]Fatal Error: Call to undefined method PDOStatement::prepare()

当我试图将数组的内容放入数据库时​​,我偶然发现了一个错误。 我仍然是PHP清理者,也许错误很明显,但是我似乎找不到修复程序。

有人可以告诉我我在做什么错。

foreach ($items as $item) {
    $connection = $connection->prepare("INSERT INTO items (ItemName) VALUES (ItemName)");
    $connection->execute(array('ItemName' => $item));
}
?>

似乎$connection不是您想的,应该是。 正如错误告诉您的那样, $connectionPDOStatement而不是PDO并且PDOStatement没有prepare方法。

发生这种情况是因为在每个循环(第一个循环除外)中,您用prepare的结果覆盖了$connection (这是PDOStatement !)

在循环$connection是一个PDO对象之前,您应该将循环内的代码更改为如下所示

foreach ($items as $item) {
    $query = $connection->prepare("INSERT INTO items (ItemName) VALUES (:ItemName)");
    $query->execute(array(':ItemName' => $item));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM