Warning Texte a la page d'acceuil

Faww Messages postés 7 Statut Membre -  
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,

J'ai un probléme avec mon site voila le message que je reçoit :

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u194188670/public_html/sql.php on line 2

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/u194188670/public_html/base.php on line 664
Table 'u194188670_test.bannIp' doesn't exist


Et le fichier base.php : (voir ligne 664)

	$reponse = mysql_query('SELECT COUNT(*) AS nb FROM moderateurs WHERE idPseudo=' . $idPseudo . '');
	$donnees = mysql_fetch_assoc($reponse);

1 réponse

  1. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    'lut, j'attire ton attention sur le premier message:
    Il faut absolument arrêter d'utiliser l'extension MySQL de PHP! Elle est obsolète! À remplacer par mysqli ou PDO; si le code n'est pas gros...

    Encore une fois, l'extension déconne royalement en cas d'erreur:
    mysql_fetch_assoc
    se plaint d'avoir reçu
    false
    , résultant d'un mauvais
    mysql_query
    , pouvant échouer en cas de requête SQL mal formée ou d'absence de connexion à une BDD. Bien sur, rien ne te le dit, et aucune stack trace de l'erreur: c'est là toute la faiblesse de l'extension.

    Au passage, si le contenu de
    $idPseudo
    n'est pas vérifié et provient d'une variable POST ou GET, je te crame ta BDD entière en 2 secondes: c'est une injection SQL. Que mysqli ou PDO peuvent facilement empêcher.
    from human import idiocy
    del idiocy
    0