У меня есть проблема, которая действительно заставляла меня создавать сайт, и я хочу, чтобы мои пользователи сначала подключились к сайту, а затем они заполняли информацию в таблице, а затем сохраняли данные и повторно отображали их по идентификатору, это то, что я хочу делать
$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
Сообщение об ошибке довольно очевидно: в строке 45 вы пытаетесь передать объект $response
в строку. пытаясь либо эхом, либо конкатенировать, либо что угодно. Вы должны получить массив данных из ответа, а затем использовать его:
$row = $reponse->fetch();
Также обратите внимание, что использование die () запрещено вообще и особенно бесполезно с PDO, который может умереть сам по себе и выполнять его лучше, чем если вы его убьете вручную.
Ваша первая строка должна читать $ id = $ _SESSION ['idCommercant'] (я полагаю)
В настоящее время один комментарий строки начинается сразу после знака =. Excecution продолжается на следующей строке и присваивает значение $ response (PDOStatement) $ id.
В последней строке вы пытаетесь передать это как параметр $ response-> execute (), который ожидает массив строк, но задан массив с PDOStatement. Он не может быть преобразован, следовательно, ошибка.