IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Requete Session dans la base


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 48
    Points
    48
    Par défaut Requete Session dans la base
    Bonjour,

    Voila j'aimerais integrer mon panier dans ma base mais cela ne fonctionne pas.

    Voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    require('../config.php');
     
    $sqlTab = serialize($_SESSION['panier']);
    $save_panier = 'INSERT INTO panier (id_utilisateur,contenu) values ("'.$_SESSION['id_article'].'","'.$sqlTab.'")';
    $save_panier_done = mysql_query($save_panier) or exit('Erreur SQL !<br>'.$save_panier.'<br>'.mysql_error());
    Voilà le resultat de la requette
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Erreur SQL !
    INSERT INTO panier (id_utilisateur,contenu) values ("","s:754:"O:6:"Panier":9:{s:7:"article";a:2:{i:100;a:6:{s:3:"qte";s:1:"1";s:4:"prix";s:5:"14.55";s:9:"montantHT";d:14.550000000000000710542735760100185871124267578125;s:10:"montantTTC";d:17.40180000000000148929757415316998958587646484375;s:3:"nom";s:4:"allo";s:7:"couleur";s:0:"";}i:101;a:6:{s:3:"qte";s:1:"1";s:4:"prix";s:5:"35.00";s:9:"montantHT";d:35;s:10:"montantTTC";d:41.8599999999999994315658113919198513031005859375;s:3:"nom";s:5:"Essai";s:7:"couleur";s:0:"";}}s:9:"nbarticle";i:2;s:7:"totalHT";d:49.5499999999999971578290569595992565155029296875;s:8:"totalTTC";d:59.26180000000000092086338554508984088897705078125;s:3:"TVA";d:19.60000000000000142108547152020037174224853515625;s:13:"calculmontant";b:1;s:4:"port";i:7;s:8:"typeport";i:0;s:7:"portTVA";i:0;}";")
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'O:6:"Panier":9:{s:7:"article";a:2:{i:100;a:6:{s:3:"qte";s:1:"1";s:4:"prix";s:5:"' at line 1

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    c'est à cause des guillemets des données sérialisées, ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    values ("","s:754:"O:6:
    tu peux remédier à ce problème en utilisant addslashes() sur tes données avant insertion, et stripslashes() à la récupération.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 48
    Points
    48
    Par défaut
    comment je procede pour l'enregistrement car le serialise il ce fais tout seul

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    tu changes rien à ton serialize() t'ajoutes juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    values ("'.$_SESSION['id_article'].'","'.addslashes($sqlTab).'")'

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 48
    Points
    48
    Par défaut
    ok oui j'ai trouver pour ca et comment faire pour afficher les panier de la session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sqlrecup_panier = "select contenu from panier where id='".$id."'";
    $req_panier = mysql_query($sqlrecup_panier) or die('Erreur SQL !<br>'.$sqlrecup_panier.'<br>'.mysql_error());
    $req_panier_v = mysql_result($req_panier,0);
    $panier= unserialize($req_panier_v);
    $_SESSION['panier'] = $panier ;

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $panier= unserialize(stripslashes($req_panier_v));

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 48
    Points
    48
    Par défaut
    j'obtient cette reponse

    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 11 in C:\wamp\www\cw\membre\commande1.php on line 58

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 48
    Points
    48
    Par défaut
    j'ai encore juste une question peut on decortiquer les infos dans la session type la quantite le montant total

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 48
    Points
    48
    Par défaut
    Personne peu m'aider pour reafficher mon panier grace a la function unserialise.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sqlrecup_panier="select contenu from panier where id='".$id."'";
    $req_panier=mysql_query($sqlrecup_panier) or die('Erreur SQL !<br>'.$sqlrecup_panier.'<br>'.mysql_error());
    $req_panier_v=mysql_result($req_panier,0);
     
    $panier = unserialize(stripslashes($req_panier_v));
    $_SESSION['panier'] = $panier ;
    erreur donnée

    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 11 in C:\wamp\www\cw\membre\commande1.php on line 58

Discussions similaires

  1. [2.x] insertion session dans la base de données
    Par géraldineBDI dans le forum Symfony
    Réponses: 0
    Dernier message: 19/11/2013, 11h22
  2. [SQL Server 2008] Requete stockée dans la base de données
    Par hwoarang dans le forum Développement
    Réponses: 3
    Dernier message: 30/09/2010, 14h42
  3. probléme de requete SQl dans une base SQL Server
    Par sasuma dans le forum Développement
    Réponses: 7
    Dernier message: 09/05/2009, 17h09
  4. [MySQL] savoir les requetes insérés dans la base pour une date précise
    Par betadev dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/02/2009, 21h40
  5. Stocker les sessions dans une base de données
    Par mic79 dans le forum Langage
    Réponses: 7
    Dernier message: 06/04/2006, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo