1

我有一个真正让我担心的问题我创建了一个网站,我希望我的用户首先连接到该网站,然后他们在表格中填写信息,然后保存数据并通过 id 重新显示它们这就是我想要的做

$id=#SESSION{idCommercant}
//$mail=$_SESSION['_mail'];
$reponse = $bdd->prepare("SELECT * FROM produit, produit_commerce, commerce, commercant
where produit_commerce.idmagasin=commerce.idMagasin
and produit.idProduit=produit_commerce.idproduit

and  commerce.idCommercant= commercant.idCommercant
and  commercant.idCommercant= :id  ;");

$reponse->execute(array(':id'=>$id)) or die(print_r($reponse->errorInfo()));

但这会返回以下错误:

Catchable fatal error: Object of class PDOStatement could not be converted to string in D:\wamp\www\it_technology\Affichage\essai.php on line 45
4

2 回答 2

1

错误信息非常明显:在第 45 行,您尝试将$response对象转换为字符串。通过尝试回显它或连接或其他任何方式。您必须从响应中获取数据数组,然后使用它:

$row = $reponse->fetch();

另请注意,通常禁止使用 die() ,尤其是对于可以自行死亡的 PDO 尤其无用,并且比手动杀死它时执行得更好。

于 2013-06-20T11:12:06.853 回答
-1

你的第一行应该是 $id= $_SESSION['idCommercant'] (我想)

就目前而言,在 = 符号之后立即开始单行注释。执行在下一行继续,并将 $response(一个 PDOStatement)的值分配给 $id。

在最后一行中,您尝试将此作为参数传递给 $response->execute() ,它需要一个字符串数组,但给出了一个带有 PDOStatement 的数组。它无法转换,因此出现错误。

于 2013-06-20T11:33:58.943 回答