Passage PHP 7.4

Bonjour,

j'ai un petit code qui me permet de vider une table d'une BDD. Depuis le passage en version 7.4 PHP il ne fonctionne plus :

<?php include ($_SERVER['DOCUMENT_ROOT'].'mysql_connect.php');
 $sql ='DELETE from `table-a-vider`';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close();
?>

Auriez vous une idée de ce qui pose probleme ?

Merci.


Windows / Firefox 102.0

3 réponses

  1. Modérateur

    Bonjour,

    Tu dois remplacer toutes les instructions mysql_*    par PDO ou MYSQLI.

    L'extension mysql_* étant devenue obsolète...


    1
    1. Merci beaucoup. Cela refonctionne. Cependant j'ai une erreur : Erreur SQL !DELETE from *

      0
      1. Modérateur

        Tu dois nous montrer le code modifié ainsi que le message d'erreur complet.

        0
    2. Le code modifié :

      <?php include ($_SERVER['DOCUMENT_ROOT'].'mysql_connect.php');
       $sql ='DELETE from `table-a-vider`';
      mysqli_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysqli_error());
      mysqli_close();
      ?>

      L'erreur :

      Erreur SQL !DELETE from `table-a-vider`

      Merci.

      0
      1. Modérateur

        Tu es sûr du nom de la table ? "table-a-vider" ?

        Et puis.. je suis étonné que le message d'erreur ne contienne que ça .. en même temps .. ton instruction mysqli_error est incomplète...

        Modifie ton code par ceci

        <?php 
        require_once ($_SERVER['DOCUMENT_ROOT'].'mysql_connect.php');
         
        $sql ='DELETE FROM `table-a-vider`';
        if (!mysqli_query($link, $sql)) {
           echo "Erreur :" . $sql . "<br>" . mysqli_error($link));
           exit();
        }

        Bien entendu .. pour ton fichier de connexion.. lui aussi il faut corriger le code et le transformer en mysqli .

        par exemple :

        <?php
        $link= mysqli_connect("localhost","my_user","my_password","my_db");
        
        // Check connection
        if (mysqli_connect_errno()) {
          echo "Failed to connect to MySQL: " . mysqli_connect_error();
          exit();
        }
        ?>
        0