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 :

Sauvegarde mysql et problème de réinsertion


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut Sauvegarde mysql et problème de réinsertion
    Bonjour.

    j'ai créé une petite routine pour save ma bdd.
    Voici un exemple de ligne sauvegardée.

    INSERT INTO pointage VALUES(10, 3, 14, 2006-11-03, 'Vendredi', 4, 'ING', 'P1953', 9, '', 'disabled');
    Cependant le 3ème champs est un champs date.
    Lorsque je veux réinsérer le tout dans ma bdd il m'insere 0000-00-00 à la place des dates.

    Si je met '2006-11-03' la il m'insère bien la date.
    Sachant que je possède un nombre d'enregistrement gigantesque, il n'y a pas un moyen de ruser afin d'integrer les dates correctement sans tout se taper à la main et rajouter des ' ?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Change ton programme de sauvegarde pour qu'il mette des "'" sur les champ de type date, datetime, time, ...

    Pour l'existant c'est plus compliqué, il faut ajouter les quotes :

    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
    // ajout des "'" si nécessaire
    function ajoutQuote($cote)
    {
    	$position = strpos($cote, '(')+1;
    	// récupère le début de la chaine jusqu'à la "("
    	$chaine=substr($cote,0,$position);
    	// récupère la chaine à partie de 1er caractère après le "("
    	$cote=substr($cote,$position);
    	// Supprime la ")" de fin
    	$cote=substr($cote, 0, strlen($cote)-1);
    	// met en tableau pour avoir chaque champ séparé
    	$tabcote=explode(",", $cote);
    	$cote = "";
    	$n = count($tabcote);
    	for($i=0;$i<$n;$i++)
    	{
    		$position = strpos($tabcote[$i], "'");
    		if($position!="1")
    		{
    			$tabcote[$i] = preg_replace('/\s{1,}/', '', $tabcote[$i]); 
    			$tabcote[$i] = "'".$tabcote[$i]."'";
    		}
    		$cote.=$tabcote[$i].",";
    	}
    	$cote= substr($cote, 0, strlen($cote) -1);
    	$chaine.=$cote.")";
    	return $chaine;
    }
    Je pense que cela fonctionne

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Merci, je vais voir ce que je vais en faire.

Discussions similaires

  1. Php && MySQL && Rss => problème de génération
    Par Regnak dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 31/07/2006, 11h41
  2. [MyODBC]import d'une sauvegarde MySQL
    Par hansaplast dans le forum Access
    Réponses: 4
    Dernier message: 13/07/2006, 15h23
  3. [MySQL] [PHP, MySQL, Javascript] Problème Variables
    Par marie4449 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/05/2006, 11h57
  4. [MySQL-JDBC] Problème de CLASSPATH
    Par stukov dans le forum JDBC
    Réponses: 3
    Dernier message: 14/03/2006, 13h55
  5. Comment sauvegarder MySQL via SSH ?
    Par Blade dans le forum Administration
    Réponses: 7
    Dernier message: 30/09/2004, 14h03

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