Bonjour,
OVH a annoncé que le nom dde serveur de ma BDD changeait de mysql51-74.perso à nomdemaBDD.mysql.db
J'ai fait le changement dans mes appels PDO à la connection de ma base.
La page qui en résulte fonctionne toujours, mais il y a du code qui n'est plus ou mal interprêté. Il en résulte des couleurs dégradées qui ne s'affichent plus, des caractères accentués qui disparaissent et sont remplacés par des points d'interrogation, et même la fonction SQL "SUM" qui ne fonctionne plus pour l'addition de valeurs de champs.
AVANT ( mysql51-74.perso )
APRÈS ( nomdemaBDD.mysql.db )
Si quelqu'un peut m'aider… pour l'instant l'ancien nom de serveur fonctionne toujours mais OVH a dit que dans quelques mois il ne fonctionnerait plus et j'ai peur que les pages de mon site ne fonctionnent plus (j'ai une boutique en ligne)
Merci d'avance.
Bonjour @SergeR6
Je pense que le changement de base de données s'accompagne aussi d'un changement de version de MySQL
Si quelqu'un peut m'aider…
Il s'agit d'un problème de jeu de caractères.
Il y a 20 ans, on n'en avait que pour les ISO-8859-1 (ou ISO-Latin1) et maintenant UTF-8 ou UTF-16 ont remplacé tout ça.
Outre les corrections à éventuellement apporter au contenu de la base de données, il faut revisiter les pages HTML qui incorporent des données récupérées de la base de données.
Tous mes champs caractères varchar sont pourtant en utf8_general_ci
Et que dire des couleurs mal interprêtées et la fonction SUM qui ne marche plus ?
Ce que je ne comprends pas non plus, c'est que la même page avec l'ancien nom de connection du serveur fonctionne toujours imppecable.
Il faudrait faire un export et analyser le fichier export qui est un fichier texte.
Les sommes et les couleurs ça m'intrigue aussi…
Comme ça ?
Je choisis quoi ?
Je choisis quoi ?
oui SQL on peut le réimporter par après.
Mais ça demande une inspection difficile à évaluer à distance.
J'ai fait le changement dans mes appels PDO à la connection de ma base.
La page qui en résulte fonctionne toujours, mais il y a du code qui n'est plus ou mal interprêté. Il en résulte des couleurs dégradées qui ne s'affichent plus, des caractères accentués qui disparaissent et sont remplacés par des points d'interrogation, et même la fonction SQL "SUM" qui ne fonctionne plus pour l'addition de valeurs de champs.
Bonjour @SergeR6
Comme c'est toi qui semble avoir développé ton site, tu as une méthode simple et efficace.
Tu rajoutes dans tes scripts avant et après les requêtes SQL la séquence :
Test de l'adresse IP avec **$_SERVER["REMOTE_ADDR"]**,
Si c'est ton adresse IP, alors **echo** des différentes variables.
Tu vas voir tout de suite ce qui cloche.
Je ne suis pas certain d'avoir bien compris. J'ai développé mon site, mais je reste débutant en codage. J'ai appris tout sur internet. :-P<br /><br />ce que tu préconises, c'est un truc du genre :<br /><br /> if($SERVER["REMOTEADDR"]="monip"){echo $variable1; echo $variable2; etc}<br /><br /><br />Quelles variables dois-je afficher pour voir tout de suite ce qui cloche ?<br /><br />À noter que je les vois déjà les variables qui clochent. Ce que je ne comprends pas, c'est pourquoi ça cloche avec le nouveau nom de serveur et ça ne cloche pas avec l'ancien nom. Le code étant le même…<br /><br />Voilà ce que me dit la BDD exportée en .sql quand je l'ouvre avec l'outil texte :<br /><br />-- phpMyAdmin SQL Dump<br />-- version OVH<br />-- https://www.phpmyadmin.net/<br />--<br />-- Hôte : raouldoublase.mysql.db<br />-- Généré le : mer. 14 juil. 2021 à 17:00<br />-- Version du serveur : 5.6.50-log<br />-- Version de PHP : 7.2.34<br /><br />SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";<br />SET AUTOCOMMIT = 0;<br />START TRANSACTION;<br />SET time_zone = "+00:00";<br /><br /><br />/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;<br />/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;<br />/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;<br />/*!40101 SET NAMES utf8mb4 */;<br /><br />--<br />-- Base de données : `raouldoublase`<br />--<br /><br />-- --------------------------------------------------------
ce que tu préconises, c'est un truc du genre :
if($SERVER["REMOTEADDR"]="monip"){echo $variable1; echo $variable2; etc}
OUI.
À noter que je les vois déjà les variables qui clochent. Ce que je ne comprends pas, c'est pourquoi ça cloche avec le nouveau nom de serveur et ça ne cloche pas avec l'ancien nom. Le code étant le même…
Est-ce la même base où une autre base ?
Quelle version MySQL ? (voir : **$sql_query="SELECT VERSION ()";** )
Oui oui, c'est la même base de donnée (je n'en ai qu'une seule de toute façon) et la même table.
je ne change rien à la page php sauf le nom du serveur que OVH a changé.
Selon que je fais la requête PDO avec l'ancien nom :
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=mysql51-74.perso;dbname=raouldoublase', 'raouldoublase', 'monmotdepasse', $pdo_options);
la page marche bien (voir image au dessus)
et si je mets juste le nouveau nom de serveur
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=raouldoublase.mysql.db;dbname=raouldoublase', 'raouldoublase', 'monmotdepasse', $pdo_options);
Là ça ne marche plus. enfin la page s'affiche mais il y a pleins de bugs nommés plus haut.
La version sql quand je fais une requête "select version" renvoie 5.6.50-log
La version sql quand je fais une requête "select version" renvoie 5.6.50-log
La même version que moi :

Ton problème est curieux.
Si c'est bien la même base de données, je ne vois pas la cause de ton problème, si ce n'est peut-être des requêtes obsolètes.
Tu pourrais aussi tester cela :
--> **
https://www.wordetweb.com/word-et-web/OVH-Tester-une-base-de-donnees-via-un-script-PDO-FR.htm">OVH - Test de Base de Données via un script en langage PDO**
Par exemple cette requête fonctionne très bien quand c'est l'ancien nom de serveur, mais ne fonctionne pas avec le nouveau nom.
Sur mon hébergement OVH je suis toujours en php version 7.2
Ça vient peut-être de là ?
Il disent que je peux la mettre à jour mais que ça peut impacter le fonctionnement de mon site web
EDIT : Je suis monté en 7.3 mais ça ne change rien. OVH ne me propose pas un version supérieure comme pour toi 8.0.2
Ok, j'avance. Ma requête avec le nouveau nom de domaine fonctionne si je remplace un caractère accentué de mon ancienne requête par son homologue non accentué.
Mais du coup je ne comprends pas pourquoi le changement du nom du serveur a un impact sur l'accentuation dans les requêtes sur une BDD qui est restée la même.