[RESOLU] Message d'erreur (PHP Deprecated: mysql_connect():

Petit nouveau ! | 2 Messages

30 janv. 2019, 12:39

Bonjour à tous,
J'aurais besoin d'aide, car je ne suis pas un spécialiste du PHP, je suis encore moins que débutant ...
Depuis quelques temps, j'ai un message d'erreur : dans un fichier .log sur mon site
(PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO)
Cela n'empêche pas les graphiques de fonctionner sur mon site, mais je crains que dans un certain d'être bloqué.

J'ai essayé de juste modifier "mysql" par "mysqli" dans mon code, mais cela serait trop facile .... :oops: :oops: :oops:
Ça ne marche plus, j'ai plein de message d'erreur et les graphiques ne s'affichent même plus.

Si quelqu'un pouvez me dire quoi faire ... cela super gentil
Pour votre info ce code me permet d'aller chercher dans un BD des mesures de ma station météo et de les afficher dans un graphique (mois, année, etc ...)
Voici la partie du code :
<?php
$server ="localhost";
$user="xxxxxxxxx_xxxxxxxxx2019";
$pass="xxxxxxxxxxxxxxxxx";
$db="xxxxxxxxxxxx_meteo2019";
$sql="select max(tstamp) from meteo2019";
mysql_connect($server,$user,$pass) or die ("Erreur SQL 1: ".mysql_error() );
mysql_select_db($db) or die ("Erreur SQL 2: ".mysql_error() );
date_default_timezone_set('Europe/Paris');
// On recupere le timestamp du dernier enregistrement
$query=mysql_query($sql) or die ("Erreur SQL 3: ".mysql_error() );
$list=mysql_fetch_array($query);

// On determine le stop et le start de façon à recuperer dans la prochaine requête que les donnees des dernières xx heures
$stop=mktime(0,0,0,2,1,date("2019"));
$start=mktime(0,0,0,1,1,date("2019"));

// Recuperation des donnees sur les dernières 24 heures avec un tri ascendant sur le timestamp ATTENTION BD meteo
$sql = "SELECT tstamp, outdoortemperature, dewpoint, sealevelpressure, outdoorhumidity
FROM meteo2019 where tstamp >= '$start' and tstamp <= '$stop' ORDER BY 1";
$query=mysql_query($sql);
$i=0;
while ($list = mysql_fetch_assoc($query)) {
if (date("I",time())==0) {
$dtime[$i]=($list['tstamp']+3600)*1000;
}
else {
$dtime[$i]=($list['tstamp']+7200)*1000;
}

$outdoortemperature[$i]=$list['outdoortemperature']*1; // Temperature exterieure
$outdoorhumidity[$i]=$list['outdoorhumidity']*1; // Humidite exterieure
$dewpoint[$i]=$list['dewpoint']*1; // Point de rosee
$sealevelpressure[$i]=$list['sealevelpressure']*1; // Pression

$i++;
}
?>


La suite du code est la partie d'affichage du graphique en javascript
Voici ce que cela donne
http://www.meteo-hestrud.fr/Graphiques_ ... 1_2019.php

Merci au Forum et à ces membres pour votre aide =D> =D> =D>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

30 janv. 2019, 12:57

Il y a quelques petites modifs à faire en plus que de simplement ajouter un "i" à mysql_

Ryle a réalisé un tuto assez bien fait sur le sujet que je t'encourage à lire pour pouvoir faire les modifications nécessaires :
faq-tutoriels/passer-mysql-mysqli-pdo-t276282.html


Une fois que tu as fait ces modifs, il faut que tu lises attentivement les messages d'erreur pour comprendre ce qui pourrait clocher.

Si c'est un problème lié spécifiquement à une fonction (nombre de paramètres incorrects par exemple), il faut aller dans la doc PHP pour vérifier les paramètres demandés et ce que tu as mis. S'inspirer des exemples de la doc s'avère très souvent pratique.
L'accès le plus simple à la doc, c'est de taper dans sa barre d'adresse php.net/ suivi du nom de la fonction.
Par exemple php.net/mysqli_query
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

30 janv. 2019, 16:11

Je vous remercie, avec cette aide , j'ai résolu mon problème

Merci à tous

Jean-Luc