picture picture
mars 19, 2019 MySQL, PHP 0 Commentaire

MySQL depracated …

Mettre à jour une page PHP contenant les erreurs: "MySQL depracated" ou "Fatal error: Uncaught Error: Call to undefined function mysql_query" ? Simple !

Il y a peu de développeurs à qui la question a échappé : le passage d’un serveur en PHP 7 entraine une cascade d’erreurs sur le pages, commençant en général par « MySQL depracated » ou « Fatal error: Uncaught Error: Call to undefined function mysql_query() in … »

Concrètement toutes les fonctions de connexion aux bases des données mysql_xxx() sont à modifier, pour tenter (entre autre) d’endiguer les vagues des piratages de bases liées aux failles de sécurité.

Si vous n’utilisiez pas le langage orienté objet (nommé du doux nom de « PDO »), les mises à jours liées à ce changement peuvent sembler barbares sur beaucoup de tutoriels…
En fait, il est inutile de changer : si vous avez l’habitude de programmer en PHP « classique » (autrement dit en mode dit « procédural »), ne changez rien, c’est inutile !

mars 5, 2019 MySQL 9 Commentaires

Transférer des bases des données MySQL WAMP server

Chaque changement d’ordinateur(ou simplement mise à jour de Wamp server) pose le même problème à tout développeur qui se respecte : comment vais-je transférer rapidement les bases des données de mon serveur MySQL en localhost (et sans les perdre) ?

En théorie il suffit d’exporter chaque base des données (via PHPmyAdmin par exemple), et de la ré-importer (toujours via PHPmyAdmin)… En pratique c’est un peu plus compliqué que cela lorsque :

  • vous avez oublié de l’exporter au format .sql (ou n’avez pas pu)
  • vous avez des dizaines et des dizaines de bases des données…
août 17, 2018 MySQL, PHP 0 Commentaire

Supprimer la limite de session sur phpMyAdmin

limite de session sur phpMyAdminLe problème de la limite de session sur phpMyAdmin est surtout gênant lorsque vous travaillez en local sur vos bases des données (avec WampServer ou easyPHP par exemple) : par défaut, toutes les 23 minutes (1400 secondes), une déconnexion vous oblige à ressaisir les identifiants d’accès. C’est pénible, à la longue…

Si vous avez accès aux fichiers du serveur, la solution est très simple.

août 17, 2018 MySQL 2 Commentaires

Désactiver le mode STRICT_ALL_TABLES sur phpMyAdmin

Mode d'emploi pour désactiver le mode STRICT_ALL_TABLES dans phpMyAdminn si votre serveur MySQL ne supporte pas l'insertion de champs vides dans les tables.L’utilisation puriste de MySQL voudrait que la structure d’un champ ne permette pas qu’il soit vide. En d’autre terme tout champ devrait avoir une valeur par défaut en cas d’insertion vide, ou comporter la valeur NULL.

La plupart des versions de phpMyAdmin tolèrent, en fait, les insertions de champs vides. Lorsque vous insérez par exemple un  champ de date vide, l’application insère à la place ‘0000-00-00’.

Toutefois il peut arriver qu’un mise à jour de phpMyAdmin (ou de Wamp, en local, par exemple) entraine des messages d’erreur voire des blocages d’insertion. Il faut en ce cas désactiver le mode STRICT_ALL_TABLES sur phpMyAdmin, c’est très simple à faire.

août 14, 2018 MySQL 0 Commentaire

Dupliquer une colonne d’une table MySQL

Dupliquer une colonne MySQLMême avec de bonnes sauvegardes, les manipulations sur des bases de données en production sont parfois anxiogènes !

Comme dans le cas précédant (Comment changer la clé primaire d’une table MySQL), dupliquer une colonne d’une table MySQL en gardant les valeurs des champs est simple… à condition de procéder dans le bon ordre !

août 14, 2018 MySQL 2 Commentaires

Comment changer la clé primaire d’une table MySQL

Il peut arriver que, pour les besoins du développement d’une site ou d’une application web, il soit nécessaire de modifier une clé primaire sur une table existante et en production. On peut souhaiter changer son nom, par exemple, ou ré-incrémenter les valeurs des tupples existants, etc.

C’est plus délicat qu’il n’y parait, puisque cette clé est logiquement auto-incrémentée : phpMyAdmin, par exemple, ne propose pas de solutions intuitives pour cela.

Il suffit de procéder dans le bon ordre pour que tout se passe bien !

janvier 13, 2018 MySQL 0 Commentaire

Une requête MySQL pour tester les clés étrangères

MySQL ; comment tester les clés étrangères correspondant à des clés primaires inexistantes (ou effacées) dans une autre table jointe ? Blog Web TolosaComment extraire les lignes d’un table MYSQL dont les clés étrangères correspond à une ligne vide dans une autre table ? Autrement dit, comment tester si les clés étrangères correspondent  (ou non) à des clés primaires inexistantes (ou effacées) dans une autre table jointe ?

A priori une requête conditionnelle utilisant la commande « NOT IN » semblait tentante, mais à l’usage elle est extrêmement lente.

J’ai donc testé la commande « NOT EXISTS » qui est nettement plus performante. Il existe surement d’autres approches, mais je vous partage ici ce petit bout de code qui peut dépanner l’un ou l’autre (j’ai mis un peu de temps à trouver…)

janvier 11, 2018 Excel, MySQL, PHP 5 Commentaires

Export d’une table MYSQL au format CSV… sans message d’erreur

La solution traditionnelle en PHP était de créer un tableau HTML : comment exporter une table MYSQL au format CSV sans message d'erreur ?Pour générer en PHP un fichier au format Excel (.xls ou .csv), la solution traditionnelle était de créer un tableau HTML, dont chaque ligne (<TD></TD>) correspondait à un tuple de la table MySQL exportée en boucle.

Oui, mais… si Excel sait lire le format HTML, les versions récentes affichent un désagréable message à l’ouverture du fichier pour signifier que le langage qu’on lui impose n’est pas le sien :
« Le format et l’extension du fichier « xxx.csv » ne correspondent pas. Le fichier peut présenter un risque ou avoir été endommagé. Ne l’ouvrez pas, à moins que la source soit fiable. Voulez-vous quand même l’ouvrir ? »

Comme quoi, le multiculturalisme ça ne marche pas pour les fichiers non plus… :lol:

décembre 19, 2017 MySQL, PHP 4 Commentaires

Extraire les noms des colonnes d’une table MySQL

Pour exporter une table entière au format Excel, il peut être souhaitable d’extraire les noms des colonnes d’une table MySQL via PHP. Blog de Web TolosaPour de multiples raisons, comme par exemple pour exporter une table entière au format Excel, il peut être souhaitable d’extraire les noms des champs d’une table MySQL via PHP.

L’astuce consiste à récupérer ces noms de colonnes en utilisant la commande « SHOW COLUMS FROM« …

décembre 1, 2017 MySQL, WordPress 4 Commentaires

Help ! J’ai perdu mon accès au back-office de WordPress \o/

Pour récupérer un accès au back-office de WordPress en cas d'oubli, voici comment recréer un accès administrateur depuis la base des données sur PhpMyAdmin.Il arrive, pour diverses raisons, qu’un administrateur de site WordPress perde son login ou son mot de passe d’accès à la gestion du site.

Traditionnellement ce back-office se trouve sur l’URL http://<mon nom de domaine>/wp-admin. Garder cette URL est une erreur en terme de sécurité, et il est possible de la changer, mais c’est un autre problème :D

Voici comment recréer un accès accès au back-office de WordPress en mode administrateur depuis la base des données du site, stockée sur PhpMyAdmin.

septembre 21, 2017 JavaScript, MySQL, PHP 3 Commentaires

Autocomplétion du champ de texte avec JQuery-UI

L’auto-complétion consiste à proposer une pré-sélection de valeurs dans le champ texte d’un formulaire.
Ces valeurs sont extraites à la volée d’une base des données, et contiennent le caractère (ou la chaîne de caractères) déjà saisi par l’utilisateur.

Cette fonction utilise AJAX (JavaScript + PHP), c’est à dire qu’il n’est pas nécessaire de recharger une page pour extraire dynamiquement et afficher les valeurs souhaitées depuis une base des données. Le moteur utilisé dans cet exemple est JQuery-UI (puissant JavaScript opensource)

juin 17, 2015 Excel, MySQL, PHP 7 Commentaires

Exporter une table MySQL au format CSV (Excel)

PHP calculsPHP est un langage d’extraction et d’affichage, mais sa puissance de calcul est limitée. Qui n’a pas été confronté un jour ou l’autre à ses erreurs ses memory_limit, upload_max_filesize ou autres blocage du temps de connexion d’un script ?

Il est possible de « bidouiller » le serveur pour tenter de rallonger tout cela, mais c’est tout de même limité et handicapant lorsque certains exports de grosses bases des données nécessitent des calculs croisés complexes. L’autre solution consiste à exporter les tables, puis à les retravailler avec les tableaux croisés dynamiques de Excel ou Access, par exemple, dont c’est la vocation.

Mode d’emploi pour un export PHP propre, d’une table MySQL vers un ficher Excel (csv en l’occurrence) …

octobre 24, 2013 MySQL 0 Commentaire

Inverser 2 colonnes dans une table avec PhpMyadmin

inverser pictoLa question sotte est « pour quoi faire ? »… Sotte parce que si effectivement cela n’a aucun intérêt en terme de code ou d’extractions, la question peut quand même se poser parfois sur un plan ergonomique…!

J’avais une assez grosse base de liaison entre 2 tables à remplir manuellement (pas moyen de faire autrement)  et pendant 10mn j’ai inversé systématiquement les id d’une table et de l’autre dans chaque tupple (ligne). Résultat proche du drame :(

J’ai donc cherché comment inverser les 2 colonnes pour finalement trouver cette solution simple […]

octobre 13, 2013 MySQL, WordPress 1 Commentaire

Help ! Ma base de données WordPress devient obèse…

sumoWordPress, c’est comme Windows ou comme les italiennes : slim à l’install, et fat au bout de 3 ans d’utilisation ^^ (aïe, je vais me faire des amies à Rome …)

Concrètement les sauvegardes deviennent de plus en plus lourdes, mais une petite astuce permet de mettre tout ce petit monde au régime très simplement […]

octobre 12, 2013 MySQL 0 Commentaire

Table MySQL de la liste des états aux USA

drapeau USA

Les formulaire de saisie des données destinées aux sites e-commerce internationaux requièrent parfois un menu déroulant proposant la liste des 50 États des USA.

Leur saisie est fastidieuse, gagnez du temps avec une table MySQL extraite en boucle !

novembre 29, 2011 Excel, MySQL, PHP 4 Commentaires

PHP : exporter une table MySQL vers un fichier Excel

NOTA : article mis à jour ici (juin 2015)

Depuis la version d’Excel 2007, les exportations en PHP de données sous Excel (par exemple des extractions depuis une table MySQL) déclenchent  l’affichage d’un désagréable message d’erreur à l’ouverture du .xls

Il y a bien la solution de passer outre, les données sont tout de même présentes dans le fichier exporté…

Mais il existe une autre solution plus « propre » !

juillet 18, 2009 MySQL, PHP 3 Commentaires

Les problemes d’encodage UTF-8 entre une base mySQL et une page PHP…

Les forums de développeurs sont remplis de questions relatives à ce problème : « Help ! Je vois des carrés, des ? ou des signes bizarres qui s’affichent sur les pages de mon site à partir des extractions de ma base des données ! »
Cela peut effectivement être assez complexe si le site est mal conçu dès le départ. Il faut permettre à la fois à la base et à la page de parler le même langage : soit UTF-8 pour des pages destinées à un affichage international, soit ISO-8859-1 pour des pages destinées à un affichage exclusivement français.
Pour débuter, un peu de méthode s’impose…

juin 25, 2009 MySQL 2 Commentaires

Comment remplacer une chaine de caractères dans toute une table MYSQL ?

la question est rémanente en particulier avec les éternels problèmes de conversion UTF8 / ISO8859-1, les tables sont parfois remplies de caractères un peu ésotériques de type ? ou
La solution MySQL existe, pour remplacer l’ensemble des caractères mal formés dans un champ sur toute une table d’une base, et elle est très simple…

avril 8, 2009 MySQL, PHP 15 Commentaires

Réalisation dynamique d’un fichier sitemap pour Google en PHP4/MySQL

Le protocole Sitemaps, proposé par Google et ensuite adopté par Live Search, Yahoo, Ask et Exalead, permet de spécifier un plan de site dans un format lisible par les robots d’indexation, en texte brut ou en XML.
Par défaut, les outils pour développeurs de Google proposent une création en Python… Pour les amoureux de PHP, voici quelques explication pour créer ce plan du site en PHP4 – MySQL : efficacité garantie en matière de référencement des sites et d’amélioration des page-rank !

novembre 9, 2008 MySQL, PHP 3 Commentaires

MYSQL : Sauvegarde pour toutes les bases sous WAMP

Même si phpMyAdmin s’avère pratique afin de faire un export (structure ou structure et données) d’une base (en vue d’en faire une sauvegarde), les limitations de tailles de transferts en PHP limitent sensiblement son utilisation massive.
Voici une méthode rapide avec MysqlDump pour importer et exporter l’ensemble des bases de données de vos sites locaux