alantheo
-
Modifié par alantheo le 10/11/2013 à 14:51
Bonjour, j'ai réalisé un script qui vérifie si le code cadeau existe dans la bdd, récupère le nom de l'objet offert et la quantité et l'ajoute au membre. Seulement ma requête m'affiche :
Fatal error: Call to a member function fetch() on a non-object in ** on line 400
J'utilise Mysqli et PDO pour une bonne raison, ne me demandez par pourquoi :)
Voici mon code :
<?php
//Si l'action de validation a été faite
if(isset($_POST["Valider"]))
{
//connection au serveur
$cnx = mysqli_connect( "**", "**", "**" ) ;
//sélection de la base de données:
$db = mysqli_select_db($cnx,"**") ;
// verification connection
if (mysqli_connect_errno($cnx)){
echo "Connexion impossible à MySQL: " . mysqli_connect_error();
}
//récupération des valeurs des champs et sécurisation contre les injections SQL
$query = mysqli_query($cnx, 'UPDATE code_cadeau SET utiliser =(utiliser+1) WHERE utiliser=0 AND code= '.$code.'');
if (mysqli_affected_rows($cnx))
{
try
{
$bdd = new PDO('mysql:host=**;dbname=**', '**', '**');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM code_cadeau WHERE code='.$code.'');
if ($donnees = $reponse->fetch())
{
$query2 = mysqli_query($cnx, 'UPDATE membre SET '.$donnees['objet'].' =('.$donnees['objet'].'+'.$donnees['quantite'].') WHERE id='.$id.'');
if (mysqli_affected_rows($cnx))
{
echo ("</br><div style=\"margin-left:250px;\" class=\"ok\"><h3 style=\"color:green;font-family:'Bubblegum';\"> Votre code cadeau à bien été utilisé.</h3></div>");
}
}
$reponse->closeCursor();
}
else
{
echo ("</br><div style=\"margin-left:250px;\" class=\"erreur\"><h3 style=\"color:#c10000;font-family:'Bubblegum';\">Ce code est invalide ou est expiré !</h3></div>");