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 :

Enregistrement MySQL


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Enregistrement MySQL
    Bonjour,

    J'essaye d'enregistrer des données dans ma base mais rien ne se passe.
    Ma table est structuré autour de 4 colonnes: id, relation_id, valeur, date. id est en mode AI
    Mon code qui me pose problème est le suivant:
    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
    $relation_id = '1';
    $valeur = ($tab[0]);
    date_default_timezone_set('Europe/Paris');   
    $date = date('Y-m-d H:i:s');
     
     
    $verif_avant_enregistrement = $bdd->query("SELECT * FROM table_principale
    					WHERE date = '$date'");
    					$verif_avant_enregistrement->execute(array($date));
     
    						if ($verif_avant_enregistrement->fetch())
    						{
    							exit();
    						}
    						else
    						{
    							$req = $bdd->prepare('INSERT INTO table_principale(relation_id, valeur, date) VALUES(:relation_id, :valeur, :date)');
    							$req->execute(array(
    							'relation_id' => $relation_id,
    							'valeur' => $valeur,
    							'date' => $date
    							));
    						}
    Si je lance ce script, rien ne s'enregistre dans la base.
    J'ai vérifié:
    - la connexion(identifiant et mot de passe)
    - pour le mysql:host j'ai mis 127.0.0.1 au lieu de localhost. Avec ou sans le port, ca ne change rien
    - insérer des données manuellement dans la base et les afficher avec le script -> c'est ok
    Sur une autre machine, avec le même script, les valeurs s'enregistrent. L'OS est différent.
    Sur la machine où le script ne fonctionne pas, j'ai wamp et mysql workbench. Uniquement wamp sur l'autre machine
    Je ne sais plus quoi tester.

    Avez-vous des pistes ? Plutôt un problème de code ou du mysql ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton PDO est tout faux donc je vois mal qu'il fonctionne où que ce soit.
    execute() ça va avec une requête préparée, pas avec query()

    Plus simplement puisque tu ne traites pas le cas ou une entrée existe déjà, met un index UNIQUE sur ta colonne `date` et fait INSERT IGNORE directement sans faire de requête SELECT avant.
    Au passage le mot "date" est reservé par mysql, renomme ta colonne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Avec ta modification, ca fonctionne sur tous les machines !
    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/12/2006, 20h13
  2. Suppression d'enregistrement mySQL
    Par Cocalight dans le forum Débuter
    Réponses: 44
    Dernier message: 31/07/2006, 15h32
  3. [envoi mail][enregistr mysql]
    Par harlock59 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 06/07/2006, 09h58
  4. Comparer deux enregistrements mysql lors d'un update ?
    Par zevince dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 16h56
  5. Réponses: 2
    Dernier message: 28/11/2005, 10h12

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