Catchable fatal error: Object of class PDOStatement could not be converted to string in line 114(可捕获的致命错误:无法在第 114 行将类 PDOStatement 的对象转换为字符串)
问题描述
我正在尝试将一些数据添加到我的数据库中,但我收到错误 Catchable fatal error: Object of class PDOStatement could not be convert to string in/var/www/mandje.php 第 114 行.这是我正在使用的代码:
I'm trying to add some data to my database, but I'm getting the error Catchable fatal error: Object of class PDOStatement could not be converted to string in /var/www/mandje.php on line 114. This is the code I'm using:
foreach($_SESSION["cart"] as $id => $value){
$query = $db->query('SELECT * FROM Producten WHERE ProductID ="'.$id.'" ');
$query->execute();
while($row = $query->fetch(PDO::FETCH_ASSOC)){
$price = $row['Prijs'];
$ProductID = $row['ProductID'];
}
$sql="INSERT INTO Bestellingsdetail( Bestelnummer, ProductID, Aantal, Prijs)
VALUES ($max,$ProductID,$value,$price)"; //<---- line 114
$count = $db->execute($sql);
我真的不明白这里出了什么问题.任何帮助将不胜感激:)
I don't really get what's going wrong here. Any help would be much appreciated :)
推荐答案
在评论中,您显示以下内容:
In the comments, you show the following:
$query = $db->query('SELECT MAX( Bestelnummer ) FROM Bestellingsdetail');
$query->execute();
$max = $query;
$max++;
这不是您从查询中获得结果的方式.您正在将 $max
设置为 PDOStatement
对象.您需要 fetch()
结果才能使用它.
This is not how you get the result from a query. You are setting $max
to a PDOStatement
object. You need to fetch()
the result in order to use it.
// I've added "AS maxval" to make it easier to get the row
$query = $db->query('SELECT MAX(Bestelnummer) AS maxval FROM Bestellingsdetail');
$max_row = $query->fetch(PDO::FETCH_ASSOC);
$max = $max_row['maxval'];
$max++;
文档:http://www.php.net/pdo.query
附言$query->execute();
只有准备好的语句才需要.query()
将立即执行查询.
P.S. $query->execute();
is only needed for prepared statements. query()
will execute the query immediately.
这篇关于可捕获的致命错误:无法在第 114 行将类 PDOStatement 的对象转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:可捕获的致命错误:无法在第 114 行将类 PDOStatement 的对象转换为字符串
基础教程推荐
- PHP 守护进程/worker 环境 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- HTTP 与 FTP 上传 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01