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 :

Mise à jour d'un script d'exportation de bdd en csv pour php 7.3


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 238
    Par défaut Mise à jour d'un script d'exportation de bdd en csv pour php 7.3
    Bonjour à tous et à toutes,
    Je viens vers vous aujourd’hui car j'ai un script qui exporte toutes les tables de ma bdd en csv que j'aimerai mettre à jour pour qu'ils fonctionnent en php 7.3
    Il fonctionne parfaitement sous php 5.3 mais qui ne fonctionne plus car il y a des fonctions obsolètes.

    Voici le vieux script qui fonctionne en php 5.3 et qui me pose problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $list_tables = mysql_list_tables("nom_de_la_base");
    $i=0;
    while ($i<mysql_num_rows($list_tables))
    	{
    		$tb_names[$i] = mysql_tablename($list_tables,$i);
    		$msg.=recbase($tb_names[$i]);
    		$i++;
    	}
    ?>
    J'ai vu que la fonction mysql_list_tables, mysql_num_rows et mysql_tablename étaient obsolètes

    J'ai fait ça et ça liste bien les nom de table mais je n'arrive pas à faire mieux
    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
    <?php
    $dbname = 'nom_de_la_base';
    $reponse = $bdd->query('SHOW TABLES FROM '. $dbname .'');
    try {
    		$reponse->execute();
    	}
    catch (PDOException $e)
    	{
    		echo 'Error : ' . $e->getMessage();
    		 die();
    	}
    while ($row = $reponse->fetch()) {
       echo "Table : {".$row[0]."}\n";
    }
    $result->closeCursor();
    ?>
    C'est le while qui me pose problème.
    Merci à tous pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 238
    Par défaut
    Le problème du while est résolu comme ceci.
    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
    <?php
    $entete="<p>Cliquez sur le nom de la table pour la télécharger.</p>";
    $dbname = 'nom_de_la_base';
    $reponse = $bdd->query('SHOW TABLES FROM '.$dbname.'');
    try {
    		$reponse->execute();
    	}
    catch (PDOException $e)
    	{
    		echo 'Error : ' . $e->getMessage();
    		die();
    	}
    while ($row = $reponse->fetch()) {
    	$msg.=recbase($row[0]);
    }
    header("Location: admin.php?page=exporter_bdd&msg=$msg&entete=$entete&flag=1");
    $reponse->closeCursor();
    exit;
    ?>
    Le souci maintenant viens de la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    while ($row = $sql->fetch())
    			{
    				if ($ligne1)
    					{
    						for($j=0;$test=each($row);$j++)
    							{
    								if($j%2) fwrite($file,"\"$test[0]\";");
    							}
    						$ligne1=false;
    					}
    			}
    ?>
    Parce que "each" est déprécié depuis la version 7.2

    Personne pour m'aider ?

Discussions similaires

  1. [Batch] Mise à jour d'un script via FTP
    Par guiguir68 dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 12/07/2014, 22h17
  2. Mise à jour base FB: script ou code ?
    Par lefju cabro dans le forum Firebird
    Réponses: 0
    Dernier message: 13/06/2014, 12h02
  3. Réponses: 5
    Dernier message: 24/10/2008, 10h43
  4. Mise à jour d'un script
    Par namstou3 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/10/2007, 13h42

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