Fork me on GitHub






Les requetes du debug
Aspirant
Inscrit: 18/12/2006 18:34
Messages: 67
Bonjour, soir

Je viens de faire une petite mise à jour de mon xoops.
Il était temps, je passe d'une 2.0.16 à une 2.4.4!!!!!

Dans les choses qui me perturbe le plus, pour mettre à jour mes modules se sont les requêtes qui sont affichées en mode débug. Lorsque l'on les copies dans phpmyadmin, par exemple pour essayer de comprendre ce qui se passe, elles ne marchent pas car il manque les préfixes?????

On fait comment pour avoir des requetes qui soient susceptible d'être copier coller pour vérification hors de xoops?

Exemple cette requete foireuse

Le débug me donne
SELECT users.email , users.name , users.uid, transcout.cout, transestime.estime, transestime.deadline, transestime.informatique, transestime.pro, transestime.reactivite, transcout.lgsrc , transcout.lgcib, transcout.natif, transcout.monnaie, transcout.lgcibpays, transflag.valeur FROM users JOIN transcout ON users.uid = transcout.uid AND transcout.lgsrc IN ('French') AND transcout.lgcib IN ('English') JOIN transestime ON users.uid = transestime.uid and transestime.estime >1 0 LEFT JOIN transflag ON transflag.idtranscout = users.uid AND transflag.intitule = 'statut' GROUP BY email ORDER BY transestime.estime DESC

alors qu'avec un simple echo j'ai

SELECT xc73_users.email , xc73_users.name , xc73_users.uid, xc73_transcout.cout, xc73_transestime.estime, xc73_transestime.deadline, xc73_transestime.informatique, xc73_transestime.pro, xc73_transestime.reactivite, xc73_transcout.lgsrc , xc73_transcout.lgcib, xc73_transcout.natif, xc73_transcout.monnaie, xc73_transcout.lgcibpays, xc73_transflag.valeur FROM xc73_users JOIN xc73_transcout ON xc73_users.uid = xc73_transcout.uid AND xc73_transcout.lgsrc IN ('French') AND xc73_transcout.lgcib IN ('English') JOIN xc73_transestime ON xc73_users.uid = xc73_transestime.uid and xc73_transestime.estime >1 0 LEFT JOIN xc73_transflag ON xc73_transflag.idtranscout = xc73_users.uid AND xc73_transflag.intitule = 'statut' GROUP BY email ORDER BY xc73_transestime.estime DESC

Bonne soirée

Posté le : 12/03/2010 21:24
Partager Twitter Partagez cette article sur GG+
Re: Les requetes du debug
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

cette information te donne juste les indications concernant les requêtes effectuées pour l'affichage de la page.
je ne vois pas pourquoi tu veux la coller dans phpmyadmin.

@+

Posté le : 12/03/2010 22:13

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Les requetes du debug
Aspirant
Inscrit: 18/12/2006 18:34
Messages: 67
bonsoir
Ben pour développer, tester, optimiser ces requêtes? Je ne sais pas comment tu développes toi, mais moi perso, je fais toutes mes requêtes hors du code de Xoops car après avec les commandes pour les préfixes ou par exemple le cas précis de cette requête qui est assemblé pour moi morceaux par morceaux selon les params envoyés ce n'est tout simplement pas possible.

C'est pour cela que de ne pas pouvoir repartir du débug vers phpadmin ou autre chose est une abbération.

Je ne vois pas à quoi cela sert de voir des requêtes si on ne peut rien en faire, autant mettre un compteur.

Bonne soirée

Posté le : 12/03/2010 22:53
Partager Twitter Partagez cette article sur GG+
Re: Les requetes du debug
Guest_
b'soir

C'est peut être une ânerie, mais si les préfixes des tables sont masqués c'est peut être sciemment, afin de ne pas livrer l'info à n'importe quel utilisateur ayant accès au debug ?

Bref, ne serait-ce pas dans un souci de confidentialité ?

Posté le : 13/03/2010 23:54
Partager Twitter Partagez cette article sur GG+
Re: Les requetes du debug
Aspirant
Inscrit: 18/12/2006 18:34
Messages: 67
Bonjour
Peut être, mais je sens que je vais faire, si ce n'est pas trop compliqué un tour dans le code.
Une, afficher les préfixes
Deux, Afficher le débug que pour les admin.

Je suis vraiment surpris que ce ne soit pas fait. Il me semble que c'était le cas avec la 2.0.16 à moins que je n'avais fait cette modif de mon propre chef
++

Posté le : 14/03/2010 10:41
Partager Twitter Partagez cette article sur GG+
Re: Les requetes du debug
Aspirant
Inscrit: 18/12/2006 18:34
Messages: 67
Bonsoir
voici la première modif à savoir avoir les préfix dans les requêtes.

Dans \class\logger\render.php
remplacer les lignes
if (empty($mode) || $mode == 'queries') { $class 'even'$ret .= '<table id="xo-logger-queries" class="outer"><tr><th>' _LOGGER_QUERIES '</th></tr>'$xoopsDB =& XoopsDatabaseFactory::getDatabaseConnection(); $pattern '/b' preg_quote($xoopsDB->prefix()) . '_/i'; foreach ($this->queries as $q) { $sql preg_replace($pattern''$q['sql']); $query_time = isset($q['query_time']) ? sprintf ('%0.6f - '$q['query_time']) : ''; if (isset($q['error'])) { $ret .= '<tr class="' $class '"><td><span style="color:#ff0000;">' $query_time htmlentities($sql) . '<br /><strong>Error number:</strong> ' $q['errno'] . '<br /><strong>Error message:</strong> ' $q['error'] . '</span></td></tr>'; } else { $ret .= '<tr class="' $class '"><td>' $query_timehtmlentities($sql) . '</td></tr>'; } $class = ($class == 'odd') ? 'even' 'odd'; } $ret .= '<tr class="foot"><td>' _LOGGER_TOTAL ': <span style="color:#ff0000;">' count($this->queries) . '</span></td></tr></table>'; }


Par
if ( empty($mode) || $mode == 'queries' ) { $class 'even'$ret .= '<table id="xo-logger-queries" class="outer"><tr><th>Queries</th></tr>'; foreach ($this->queries as $q) { $query_time = isset($q['query_time']) ? sprintf ('%0.6f - '$q['query_time']) : ''; if (isset($q['error'])) { $ret .= '<tr class="'.$class.'"><td><span style="color:#ff0000;">'.htmlentities($q['sql']).'<br /><b>Error number:</b> '.$q['errno'].'<br /><b>Error message:</b> '.$q['error'].'</span></td></tr>'; } else { $ret .= '<tr class="'.$class.'"><td>'.$query_timehtmlentities($sql).htmlentities($q['sql']).'</td></tr>'; } $class = ($class == 'odd') ? 'even' 'odd'; } $ret .= '<tr class="foot"><td>Total: <span style="color:#ff0000;">'.count($this->queries).'</span> queries</td></tr></table>'; }


La suite plus tard
++

Posté le : 15/03/2010 22:28
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

36 Personne(s) en ligne (28 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 36 | Plus ...