
Pour créer et concevoir une base de données, il existe différentes méthodes. S’il on oublie la méthode freestyle (consistant à ne rien concevoir du tout…), il vous reste grosso-modo 2 options: une feuille et un stylo ou l’utilisation d’un logiciel spécifique. Si j’aime bien mon crayon à papier et la gomme qui va avec lors de création d’architectures de petits sites, ce n’est pas forcément la solution la plus adéquate pour les plus gros projets… à moins d’ajouter des ciseaux et de la colle dans ma trousse à outils, je risque de galérer un maximum sur les schémas un tant [...]

Cela fait un certain temps que j’utilise un programme plutôt méconnu permettant de convertir vos fichiers .XLS en instructions .SQL en quelques secondes : xls2mysql (payant – $39). Au regard des nombreux services rendus, et puisqu’une nouvelle version est sortie fin 2011, je me décide à vous en faire une petite présentation. Comme son nom l’indique, xls2sql est un programme permettant de transformer vos données Excel en SQL, afin de pouvoir facilement les intégrer sur un site web. En clair, les feuilles deviennent des tables MySQL, les colonnes des champs (la première ligne est utilisé comme), et les lignes les [...]
Un petit bout de code MySQL probablement sans intérêt pour la plupart d’entre-vous pour commencer l’année : comment trouvez des colonnes ayant comme nom un mot spécifique. SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE ‘%votremot%’ AND TABLE_SCHEMA=’nomdelabasededonnees’ L’intérêt de cette requête ? Vous permettre de trouver facilement des colonnes spécifiques sur les tables d’une base de données dont vous ne connaissez pas l’architecture. En général, les noms des colonnes comportent des mots clés, cette requête vous évite donc de vous farcir les tables d’une base de données une par une pour trouvez celle que vous recherchez. Particulièrement utile pour [...]
Besoin de connaitre les doublons présents sur une table sql ? Rien de plus simple, cette requête fera l’affaire : SELECT field, count(*) FROM table GROUP BY field HAVING count(*) > 1 Pour le dédoublonnage à proprement parler vous devrez passer par une table temporaire (ou sinon il ne serait possible que ne supprimer que tous les enregistrements en double), quelque chose de ce type fera l’affaire : DELETE FROM table t1 WHERE EXISTS (SELECT * FROM table t2 WHERE t1.field = t2.field GROUP BY field HAVING COUNT(*) > 1) Pensez à sauvegarder votre base de données avant, c’est plus [...]
N’ayant rien de spécial à publier cette semaine, j’ai décidé de vous présenter un petit script de mise en cache de vos pages internet. Avant de commencer, la mise en cache c’est quoi ? Grosso modo la création d’une page html statique à partir d’une page dynamique, mise à jour à intervalles réguliers. Le but est bien évidemment d’économiser des requêtes SQL, ressources PHP, etc. et d’accélérer la vitesse de chargement de votre site. En bonus, vu que l’affichage est statique, vous limitez par la même occasion les problèmes inhérents aux injections et autres réjouissances. C’est une technique extrêmement efficace, [...]
Dans la série des requêtes MySQL pour s’avérer utiles, voici comment trouver le 1er ID manquant d’une table : SELECT table.id +1 FROM table WHERE ( table.id +1 ) NOT IN ( SELECT table.id FROM table ) ORDER BY id LIMIT 1 Rien de plus à ajouter, modifiez la limite pour obtenir plus de résultats.

Parce que l’optimisation est une nécessité, un code propre gage qualité, il faut tracker la moindre erreur possible sur son site internet. Aujourd’hui, petit snippet PHP pour vous aider à enregistrer les erreurs SQL générées sur votre site. Rien de bien compliqué au niveau de la mise en place, commencez par créer la table qui va logger les erreurs : CREATE TABLE IF NOT EXISTS `sql_errors` ( `sql_id` int(5) NOT NULL auto_increment, `sql_erno` int(6) NOT NULL, `sql_msg` text character set latin1 collate latin1_general_ci NOT NULL, `sql_time` datetime NOT NULL, `sql_query` text character set utf8 collate utf8_unicode_ci NOT NULL, PRIMARY KEY [...]
Voilà sans doute l’une des questions à laquelle j’ai le plus répondu en ce qui concerne les astuces MySQL. Étant donné qu’il n’y pas grand chose à se mettre sous le dent en terme d’actu Internet ou de trouvailles en ce moment (et que je dois faire un minimum vivre ce blog :p), voici cette fameuse équivalence du CTRL+F en boucle avec MySQL (façon la plus simple et logique de procéder) : UPDATE table SET champ = replace(champ, ‘é’, ‘é’) Rien de bien sorcier donc, tout cela est simplissime mais en même temps bien pratique. ‘table’ doit bien entendu être [...]
Petit rappel : les Magic_Quotes est une fonctionnalité de PHP destinée à protéger automatiquement les données utilisées dans un script PHP part un backslash (« \ »), principalement afin d’éviter les injection SQL. Même si l’idée est intéressante pour les débutants, il faut bien reconnaitre que cette fonction est nettement plus problématique qu’autre chose pour la plupart des développeurs. Le problème, c’est que bon nombre de serveurs mutualisés sont configurés avec les Magic Quotes d’activées par défaut, et ce, malgré le fait que cette fonctionnalité soit obsolete depuis PHP 5.3 (et même carrement supprimée depuis PHP 6). Du coup, il faut trouver [...]
Aujourd’hui, je vous propose un billet article 100% maison, dont le but et de vous présenter les éléments clefs à implémenter sur votre site php/mysql pour vous protéger de 99% des attaques recenssées sur les sites web. Loin de moi l’idée de vous présenter le fonctionnement des diverses failles, une documentation à ce sujet existe déjà si vous cherchez bien, l’objectif est avant tout de s’en prémunir. Loin d’être exhaustif ce tutorial s’adresse avant tout aux développeurs PHP débutants. 1. Protégez vos requêtes SQL Afin d’éviter les injections sql, il est primodial de protéger l’intégralité vos requetes effectuées via mysql_query() [...]