Résolu Mise en place MySQL

  • Auteur de la discussion Auteur de la discussion iv230
  • Date de début Date de début
Non désolé, je suis en pause côté programmation minecraft en se moment :p Mais il doit surement avoir un truc a faire pour ton problème ;)
 
Tu me passes en mp ton fichier accounts.mini stp ? J'essaierai de voir ça demain.
(tant qu'à faire indique le nom des colonnes que tu veux sur la DB)
 
Prenon pour exemple ma ligne :



iv230 balance:116110.0 status:0




Il me faut une table à 4 colones :
1er ligne : "id" (numéro de la ligne du fichier)
2ème ligne : "username" (gras)
3ième ligne : "balance" (italique)
4ème ligne : "status" (souligné)

Tout les morceaux sans effets de textes ne doivent pas apparaitre sans le SQL.
 
Pour ceux qui auraient le même problème, voici un script PHP pour faire le boulot.
Il faut mettre le fichier 'accounts.mini' dans le même dossier que ce script.
Code:
<?php
//---------------------------------------------------------
$bdd_host = '';
$bdd_name = '';
$bdd_user = '';
$bdd_pass = '';
$table = 'iConomy'; // /!\ il ne doit pas y avoir déjà de table avec ce nom /!\
//---------------------------------------------------------
 
try
{
$bdd = new PDO('mysql:host=' . $bdd_host .';dbname=' . $bdd_name . '', '' . $bdd_user .'', '' . $bdd_pass .''); //connexion à la BDD
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
$file = @fopen("accounts.mini", "r"); //on ouvre le fichier
if ($file) { //si le fichier s'ouvre correctement
    while (($ctn = fgets($file, 4096)) !== false) { //à chaque ligne
$arr = explode(" ",$ctn); //découpage de la ligne en fonction des espaces
$username = $arr[0];
$balance = substr($arr[1], 8); //le solde qu'on obtient en enlevant 'balance:'
$status = substr($arr[2], 7); //on enlève 'status:'
$status = substr($status, 0, -1); //on enlève l'espace à la fin et on a le status
$req = $bdd->prepare('INSERT INTO ' . $table . '(username, balance, status) VALUES(:username, :balance, :status)'); //insertion dans la BDD
$req->execute(array(
    'username' => $username,
    'balance' => $balance,
    'status' => $status
    ));
    }
    fclose($file); //on ferme le fichier
}
?>
 
  • J'aime
Reactions: iv230 et nonoland