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 :

Modifier mysql_errno -> mysqli_errno [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Par défaut Modifier mysql_errno -> mysqli_errno
    Bonjour à tous,

    j'ai une appli qui me fait une erreur 10064 (parse error) sur une fonction mysql_errno (et mysql_error aussi je présume), voici la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!$result)
    {
    throw new QueryException(mysql_error($this->connection), mysql_errno($this->connection));
    }
    En vérifiant sur php.net, je vois que la fonction est obsolète depuis v5.5, or après avoir installé un proto en ubuntu 10.04 (mysql 5.1.65), je passe maintenant sur un ubuntu 12.04 (mysql 5.5.31).

    Je présume donc que c'est le problème de version qui provoque l'erreur seulement n'étant pas programmeur, je ne sais pas trop comment modifier mon code...

    Quelqu'un aurait-il une suggestion ?

    Merci de votre aide...

    Adgenodux

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    Dans ton cas c'est MySQL qui couine et pas PHP.
    Donc ton problème se situe au niveau du SQL et pas cette ligne de code.

    Cette ligne de code PHP te renvoie juste l'erreur MySQL et elle fonctionne bien du coup.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Par défaut
    Bonjour et merci pour la réponse...

    Les heures me font tourner bourrique, ce n'est pas sur php.net mais bien sur mysql que j'ai vérifié le code d'erreur... ainsi le message de base est :

    ManiaLive\Database\QueryException with code 1064
    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 '' at line 5
    et donc sur le site de mysql je trouve :

    Erreur: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)

    Message: %s près de '%s' à la ligne %d
    Ce qui traduit donc un prob dans ma requête sql mais je ne parviens pas à la retrouver cette requête, je ne sais pas où chercher cette "line 5"...

    Quelqu'un aurait une idée de comment la localiser ?

    J'ai pensé essayer de suivre les requêtes en direct via phpmyadmin (via les processus) mais rien de probant alors j'ai vu sur CE BLOG qu'il fallait "sniffer" le port... ce serait ça la soluce ?

    Merci

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Si tu connais le lien qui conduit à cette erreur, tu dois quand même savoir quel contrôleur est appelé, non ? Sans aller sniffer je ne sais quoi

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Par défaut
    ben je vois dans mon shell, que l'erreur est survenue après s'être connecté à la db donc je suis le fichier de config Manialive pour voir qui peut avoir à utiliser la db et je remonte à un plugin qui est le seul à proposer des connexions db (un petit rgrep "SELECT" du dossier plugins me le confirme)...

    je pense donc tenir un bon suspect, voici comment se présente la seule requête dans laquelle il y a des simples quotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = "
                            SELECT e.id FROM ".self::$prefbdd."_trackmania_evenement e, ".self::$prefbdd."_trackmania_serveurs s
                            WHERE
                                    s.login = '".self::$serverLogin."'AND
                                    e.serveur = s.id AND
                                    ((e.dat_deb = '0000-00-00' AND e.dat_fin = '0000-00-00') OR (date(now())  BETWEEN e.dat_deb AND e.dat_fin) )
                                    ";
    sachant que l'erreur est

    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 '' at line 5
    Serait-ce là le problème ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Par défaut
    bien...

    il m'a été suggéré du passer ma requête directement dans phpmyadmin et là 3 surprises...

    1) la requête est passée sans prob...
    2) elle n'a retourné aucun résultat alors qu'elle aurait du...
    3) dès lors je l'ai analysée pour constater qu'elle cherchait la mauvaise info

    retour donc à mon plugin pour retrouver bien loin dans le code, une fonction function onLoad() dans laquelle l'info utile est précisée et ce n'était pas la bonne, elle m'avait échappé dans le dédale de config, provoquant donc une réaction en chaîne puisque mon résultat ne pouvait être vide...

    l'occasion de réfléchir à mettre une éventuelle vérif, bien que ce soit une config en dur en principe...

    et bien merci à vous pour votre aide et vos suggestions...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/11/2002, 14h08
  2. [VB6] Zone de liste modifiable basée sur un champ
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/11/2002, 13h41
  3. [VB6] Modifier la clé d'un élément d'une collection
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h49
  4. [VB6] [MDI] Modifier form en MDIform
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/09/2002, 13h48
  5. Réponses: 5
    Dernier message: 06/08/2002, 20h08

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