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

PHP & Base de données Discussion :

[SQL] Question sur requête SQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Par défaut [SQL] Question sur requête SQL
    Bonjour,

    Avez vous une idée du problème dans ma syntaxe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $jour=date("Y-m-d");
    $db = mysql_connect('127.0.0.1', 'root','')  or die('Erreur de connexion '.mysql_error());
    //echo "Connexion OK !!";
    //echo "<br>";
    mysql_select_db('info_printer',$db)  or die('Erreur de selection '.mysql_error()); 
    $query = "SELECT * FROM `count`";
    $result = mysql_query($query, $db) or die($query . " - " . mysql_error());
    $tab = mysql_fetch_array($result);
     
    if ($tab['day']==$jour) {
    $sql1 = "update `count` set `countpm`=130 where `day`=`$jour`";
    mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error()); 
    }
    Je souhaite faire l'update si $tab[day] est egal à la date du jour.
    Et cela ne fonctionne pas... Auriez-vous une idée ?

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut


    Tu as mis des die(mysql_error()) partout : c'est bien
    Tu dis "cela ne fonctionne pas" sans donner de précisions sur l'erreur : c'est moins bien

    Je crois que tu t'es pris la tête : pourquoi faire un if tab['day']=$jour, alors que c'est précisement ce que fait le where de ton update ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $jour=date("Y-m-d");
    $db = mysql_connect('127.0.0.1', 'root','')  or die('Erreur de connexion '.mysql_error());
    //echo "Connexion OK !!";
    //echo "<br>";
    mysql_select_db('info_printer',$db)  or die('Erreur de selection '.mysql_error()); 
     
    $sql1 = "update `count` set `countpm`=130 where `day`=`$jour`";
    mysql_query($sql1) or die('Erreur SQL ! '.$sql1.'<br>'.mysql_error());
    Ensuite j'ai un doute : que contient le champ day ? une date au format année-mois-jour ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Par défaut
    en fait, il m'ajoute toujours une ligne dans ma base même si j'ai une entrée sur $jour au format "2007-06-27", impossible de lui faire faire mon update...
    Je ne sais pas si cela est plus clair...

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    66
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 66
    Par défaut
    salut

    Je crois que tu as une erreur dans ton code, pour moi il faut mettre la variable $jour entre quote

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql1 = "update `count` set `countpm`=130 where `day`= '$jour' ";
    essay comme ca.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 66
    Par défaut
    En fait, malgrès la mise de $jour entre ', il m'insère une ligne et ne met pas à jour mon enregistrement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql1 = "update `count` set `countpm`=130 where `day`='$jour'";
    Je me retrouve avec un nouvel enregistrement sur la date du jour à chaque appel à mon script

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    66
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 66
    Par défaut
    est tu sur qu'il y as un enregistre dans ta table qui correspond à la date d'aujourd'hui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jour=date("Y-m-d"); // récupère la date d'aujourd'hui
    si tu veut etre sur que ta requete fonctionne prend une date qui ce trouve dans ta table et met la directement dans la requete.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql1 = "update `count` set `countpm`=130 where `day`= 2007-06-20";
    une autre solution est d'afficher la requete que tu as et voir si elle a la bonne stucture par exemple en la recopiant tel quel dans phpmyadmin et voir le résultat.

    par contre en ce qui conterne l'insertion tu doit avoir une requet insert dans ton code sinon je ne comprend pas? peut etre essayer de mettre ce code dans une nouvelle page sans rien dautre et tester

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Debutant] Question sur Cours SQL Pro
    Par etiennegaloup dans le forum Langage SQL
    Réponses: 5
    Dernier message: 25/10/2005, 09h50
  2. [PL/SQL] question sur interval
    Par Michael# dans le forum Oracle
    Réponses: 9
    Dernier message: 01/09/2005, 10h54
  3. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53
  4. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33
  5. [SQL]Questions sur les contraintes ?
    Par patmaba dans le forum Oracle
    Réponses: 3
    Dernier message: 24/02/2005, 15h12

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