IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Passer un script de mysql à mysqli [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2017
    Messages : 11
    Par défaut Passer un script de mysql à mysqli
    Bonjour à tous,

    J' ai récupéré la maintenance d'un site d'une association de golfeurs et un des scripts essentiels est en Mysql et ne fonctionne plus, le site étant passé sous Mysqli et PHP 7.0

    Ce script se connecte au site de la Fédération Française de golf pour récupérer les handicaps des joueurs et les actualiser dans la base de données du site sous Joomla 3.7.3 et l'extension Community Builder qui gère les profils utilisateurs

    Je suis un amateur qui ne maitrise pas bien le coding et les fonction mysqli.

    Quelqu'un peut-il m'aider à modifier le script suivant pour le rendre actif sous Mysqli ?
    Un grand merci d'avance
    Cordialement,

    Philippe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
        $__host = "_____";
    $__user = "____";
    $__base = "_____";
    $__password = "_____";       
     
    $joueurArr = array();
    // On se connecte à la base MySql
    if (mysql_connect($__host, $__user, $__password) == true) {
        if (mysql_select_db($__user)) {
            mysql_query("SET NAMES 'utf8'");
            // Liste joueurs dans le formulaire ci dessous
            $joueurSQL = mysql_query("SELECT * from jnew_comprofiler WHERE cb_ndelicence <> ''");
            if (mysql_num_rows($joueurSQL) > 0) {
                while ($joueurLine = mysql_fetch_array($joueurSQL)) {
                    $joueurArr[]  = $joueurLine;
                }
            }
     
            ?>
            <table>
            <?
            $i = 0;
            foreach ($joueurArr as $joueur) {
                $oldindex = $joueur["cb_index"];
                $newindex = getIndex( $joueur["cb_ndelicence"] );
                $joueurid = $joueur["id"];
                If ($oldindex <> $newindex) {
                    $joueurSQL2 = mysql_query("Update jnew_comprofiler set cb_indexold = '$oldindex', cb_index = '$newindex' WHERE id = $joueurid");    
                    $i = $i +1;
                    ?>
                    <tr>
                        <td><?=$joueurid . " " . $joueur ["firstname"] ." ". $joueur ["lastname"] ." ". $joueur ["cb_indexold"]."> nouvel index:  " . $newindex ?></td>
                    </tr>
                    <?
                }
            }
            ?>
            </table>

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Ce que je vais poster va en faire hurler plus d'un, mais ça a l'avantage de faire une portabilité quasi immédiate sans avoir (presque) à toucher le code. Après s'il manque des fonctions tu peux toujours les ajouter.
    Il suffit ensuite de faire un include du fichier en début de script.

    Dans cet exemple, les constantes sont dans le fichier mais dans la réalité elles sont dans un fichier externe.

    Il suffit ensuite de changer les mysql_ en x_mysql. Essaie tout de même ce script avec des fonctions sans les x_ peut être que cela suffira et tu n'auras même pas à "renommer" les fonctions de tes scripts.

    classDB.inc

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php 
    define("MYSQL_SERVER_NAME",'127.0.0.1');
    define("MYSQL_USER_NAME","root");
    define("MYSQL_USER_PASSWORD","");
    define("DATABASE_NAME","testi7");
    class DB {
      private static $instance = null;
     
     const HOST = MYSQL_SERVER_NAME;
     const USER = MYSQL_USER_NAME;
     const PASW = MYSQL_USER_PASSWORD;
     const DBNA = DATABASE_NAME;
     
      public static function connect() {  
        if(is_null(self::$instance)) {
          self::$instance = new mysqli(self::HOST,self::USER,self::PASW, self::DBNA); 
        } 
        return self::$instance;
      } // public static function connect() 
    } // class DB
     
     function x_mysql_query($query) {
       return mysqli_query(DB::connect(),$query);
     } // function x_mysql_query($query)
     
     function x_mysql_error() {
       return mysqli_error(DB::connect());
     } // function x_mysql_error() 
     
     function x_mysql_num_rows($result) {
       return mysqli_num_rows($result);
     } // function x_mysql_num_rows($result)
     
     function x_mysql_fetch_array($result) {
       return mysqli_fetch_array($result);
     } // function x_mysql_fetch_array($result)
     
     function x_mysql_insert_id() {
       return mysqli_insert_id(DB::connect());
     } // function x_mysql_insert_id() 
     
     function x_mysql_affected_rows() {
       return mysqli_affected_rows(DB::connect());
     } // function x_mysql_affected_rows() 
    ?>

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juillet 2017
    Messages : 11
    Par défaut Merci
    Merci Badaze,
    Je vais essayer ça, même si ça ne me parait pas "hortodoxe"
    Bien à toi

  4. #4
    Membre averti
    Homme Profil pro
    Artisan
    Inscrit en
    Novembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Artisan
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 46
    Par défaut Relance
    Bonjour je me permet de relancer l'info en lien avec ce topic : https://www.developpez.net/forums/d1...s/#post9459917

    J'ai fait la modif dans mon fichier qui ne fonctionnait plus et aussi ce qui est preconiser dans ce topic mais aucun effet.

    Quelqu'un a un idée ?
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Passer de MySQL à MySQLi
    Par InspLVD dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/12/2015, 21h31
  2. Passer de mysql à mysqli
    Par matmoiça dans le forum MySQL
    Réponses: 1
    Dernier message: 05/08/2015, 16h20
  3. [MySQL] Passer de mysql à mysqli
    Par luccieditor dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/05/2014, 18h25
  4. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 18h59
  5. [MySQL] [Script]Optimisation de scripts Php/MySQL (2)
    Par copy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/08/2004, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo