Problème récupération données dans bdd
Résolu
Lolo
-
Lolo -
Lolo -
Bonjour,
Je suis entrain de réaliser un panier pour un galerie photo e-commerce.
Le formulaire de ma galerie est prêt.
Ma requête pour l'insertion des données choisie par le client (prix/format, quantité, image) dans le bdd est faite mais rien ne sa passe. Pas de message d'erreur, ni de données enregistrées dans la bdd.
Je pense que le problème vient de ma boucle. Elle tourne dans le vide (je pense ???).
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=album_photos', 'root', '', $pdo_options);
$req=$bdd->prepare('SELECT chemin FROM cliches');
while ($donnees = $req->fetch())
{
if(isset($_SESSION['email']))
{
$req=$bdd->prepare('INSERT INTO panier (email_client, date_creation_panier, produit, quantite, prix_format) VALUES (:email_client, NOW(), :produit, :quantite, :prix_format)');
$req->execute(array(
'email_client'=> $_POST['email'] = $_SESSION['email'],
'produit'=> $_POST['produit'] = $donnees,
'quantite'=> $_POST['quantite'],
'prix_format'=> $_POST['prix_format']));
}
else
{
echo 'Veuillez vous identifier';
}
}
$req->closeCursor();
}
catch(Exception $e)
{
die('Erreur: '.$e->getMessage());
}
?>
De plus ma condition ne renvoie rien non plus. Ni message d'erreur, ni l'echo.
Auriez vous des idées ?
Merci.
Je suis entrain de réaliser un panier pour un galerie photo e-commerce.
Le formulaire de ma galerie est prêt.
Ma requête pour l'insertion des données choisie par le client (prix/format, quantité, image) dans le bdd est faite mais rien ne sa passe. Pas de message d'erreur, ni de données enregistrées dans la bdd.
Je pense que le problème vient de ma boucle. Elle tourne dans le vide (je pense ???).
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=album_photos', 'root', '', $pdo_options);
$req=$bdd->prepare('SELECT chemin FROM cliches');
while ($donnees = $req->fetch())
{
if(isset($_SESSION['email']))
{
$req=$bdd->prepare('INSERT INTO panier (email_client, date_creation_panier, produit, quantite, prix_format) VALUES (:email_client, NOW(), :produit, :quantite, :prix_format)');
$req->execute(array(
'email_client'=> $_POST['email'] = $_SESSION['email'],
'produit'=> $_POST['produit'] = $donnees,
'quantite'=> $_POST['quantite'],
'prix_format'=> $_POST['prix_format']));
}
else
{
echo 'Veuillez vous identifier';
}
}
$req->closeCursor();
}
catch(Exception $e)
{
die('Erreur: '.$e->getMessage());
}
?>
De plus ma condition ne renvoie rien non plus. Ni message d'erreur, ni l'echo.
Auriez vous des idées ?
Merci.
A voir également:
- Problème récupération données dans bdd
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Logiciel de récupération de données - Guide
- Trier des données excel - Guide
- Convertisseur récupération de texte - Guide
1 réponse
Je ne connais pas le fonctionnement de ta class PDO de gestion de ta base de donnée mais quand je vois :
J'imagine que derriere la requete il faut l'executer avant de faire :
Surtout qu'au dessous il y a :
Peux-tu copier le contenu de class PDO ? ou au moins la fonction prepare() ?
$req=$bdd->prepare('SELECT chemin FROM cliches');
J'imagine que derriere la requete il faut l'executer avant de faire :
while ($donnees = $req->fetch())
Surtout qu'au dessous il y a :
$req=$bdd->prepare('INSERT INTO panier (email_client, date_creation_panier, produit, quantite, prix_format) VALUES (:email_client, NOW(), :produit, :quantite, :prix_format)'); $req->execute(array(....));
Peux-tu copier le contenu de class PDO ? ou au moins la fonction prepare() ?
j'ai mis $req=$bdd->query('SELECT chemin FROM cliches');
et l'echo s'affiche enfin mais toujours pas de données intégrées dans la bdd et en plus quand je m'identifie il me marque cette erreur :
Notice: Array to string conversion in C:\wamp\www\album_photos\panier.php on line 37
Erreur: SQLSTATE[HY000]: General error
???
avant :
Par des valeurs fixe donc quelque chose comme :
Je ne suis pas sur mais la syntaxe :
et
Me semble douteuses
Je ne sais pas si c'est bien faisable ca en php...
ou
Serait plus cohérent