Pour un gourou MySQL...

samedi 28 février 2004 :: perrick :: MySQL :: 4 commentaires :: aucun trackback

En avançant dans ma couverture de tests pour openTIME -- toujours grâce à eXtreme Programming, je découvre quelques subtilités de PHP et de MySQL.

Pour mon premier l'analyseur de code PHP qui devrait m'aider à localiser les functions qui ne sont plus utilisés. J'en reparlerai un jour si ça dépasse le stade du carton. A moins qu'un bon outil de refactoring pour PHP sorte ou que quelqu'un me donne une URL intéressante pour découvrir qu'il existe déjà.

Et pour mon second, dans la famille "bug ou feature", un test à réaliser soit même : faire la recherche SELECT * FROM ma_table WHERE id = '1a'; sur une table MySQL 'ma_table' qui contient une colonne id de type int et un seul enregistrement où id = 1. Je suis curieux de savoir pourquoi avec MySQL 4.0.15 et MySQL 3.23.58 je trouve mon enregistrement. Au lieu de rien ?

Vos commentaires et/ou trackbacks

Le lundi 1 mars 2004 à 14:07, commentaire par LAlex :: site :: #

C'est tout simplement du a la méthode de cast string=>int qu'utilise MySQL :
- si la chaine de caractères ne commence pas par un nombre, ca donne 0
- si la chaine commence par un nombre, ca donne la succession de nombre jusqu'à arriver à un caractère non numérique : '1abcdef' = 1, '145abc' = 145, '15abc12' = 15 ...

++ ^^

Le lundi 1 mars 2004 à 21:40, commentaire par Cédric :: site :: #

Salut

Suis pas un gourou, mais à priori parce que mysql fait un transtypage un peu abusif. Je vais tester ça.
Par contre je fais moi aussi un outils d'analyse de source, on peut sans doute bosser ensemble non?

Cédric

Le lundi 1 mars 2004 à 23:23, commentaire par Stéph' :: site :: #

Si ca t'interresse j'avais pondu il y a quelques temps un utilitaire PHP faisant (entre autres choses) du cross-ref des class, variables, constantes, includes (y compris ceux générés dynamiquement), sur un projet php complet ce qui permet de lister justement les variables, fonctions etc qui semblent ne pas être utilisées.
Par ailleurs ca analyse également le code par exemple pour signaler les erreurs communes qui ne génèrent pas une erreur fatale, les variables de nom similaires qui peuvent générer des problèmes (utilisation de l'une à la place de l'autre) etc...
Tu peux trouver ca sur : steph.pineau.free.fr/php/...

Le mardi 2 mars 2004 à 09:06, commentaire par pk :: site :: #

C'est tout simplement du a la méthode de cast string=>int qu'utilise MySQL
C'est effectivement ce que j'avais "découvert" empiriquement mais en lisant les réactions je me rassure !

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.