Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Sujet : importer ça bases de données mysql

Bonjour, le but du tutoriel est de transférer un ensemble de tables d’une base de donnée (A) à une autre (B) sur toile-libre .
Cette solution n’est utile que si vous échouez à utiliser la fonction import de phpmyadmin.

  • Connectez-vous à la base de donnée A, avec phpmyadmin cliquez sur export, choisissez les options que vous désirez, puis enregistrez le fichier sans compression (.sql)

  • Transférez le fichier sur votre espace web sur toile-libre

  • Créez le fichier import.php, et transférez le sur votre espace web

  • Exécutez le fichier en ouvrant l’url correspondante avec votre navigateur

  • Pensez à supprimer les fichiers ayant servit à effectuer cette opération une fois terminé (si vous ne les avez pas mit dans un répertoire protégé)

Ps: faites attention aux problèmes possibles d’encodages de caractères.
Ps2: il se peut qu’à cause d’une différence de version, certaines options ne soient plus compatibles, si c’est le cas, faites les modifications nécessaire dans le fichier sql.

<?php
//import.php

$requete = file_get_contents("bdd.sql");
$mysqli = mysqli_connect("sql.toile-libre.org", "votre_identifiant", "votre_mdp", "votre_bdd");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_report(MYSQLI_REPORT_ALL);


//$mysqli->multi_query($requete)) ne marche pas a cause de la taille de la requete


//Pas sur que cette solution marchera dans tout les cas
preg_match_all("/(.*?;)[\n\r]/s", $requete, $queries);

$i = 0;
foreach($queries[0] as $query) {
    $i++;
    echo $i;
    
    if($query == "") {
        continue;
    }
    if(!$mysqli->query($query))
    {
        echo "query: " . $query . " failed</br>";
        break;
    }
}

$mysqli->close();
echo "fin du chargement";

J’espère que ceci vous aura aidé, bonne chance !

Dernière modification par dionisos (2013-01-09 17:02:24)

Thumbs up Thumbs down


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /data/web/4/0/forum.toile-libre.org/htdocs/include/parser.php on line 738

Re : importer ça bases de données mysql

Merci Dionisos,
tu m'as retiré une grosse épine du pied, grâce à tes explications et à ton script.
Connaissant à peine ce qui est PHP et SQL, je tatonnais et cherchais des infos depuis une semaine, lorsque je suis tombé par hasard sur ton tutoriel.
Grâce à lui j'ai pu ressusciter mes données devenues invisibles sur le web bien que présentes dans PHPMyAdmin...
Encore merci et bravo:)
Marc

Thumbs up Thumbs down