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 :

UPDATE ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Par défaut UPDATE ne fonctionne pas
    Re bonjour, ou bonjour a ceux qui sont pas encore passé,

    J'ai un nouveau probleme que j'ai envis de qualifier "a la con", j'explique apres je met le code.

    Le code que je veux utiliser fonctionne tres bien pour de nouvelles insertion (INSERT INTO), mais quand j'utilise la fonction de mise a jour (UPDATE) il ne veux plus fonctionner, pourquoi je sais pas et je comprend pas la raison.

    le code :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    if (isset($_FILES['photo']) && !empty($_FILES['photo']['tmp_name'])) {
     
     
    					$dossier = '../../images/bdd/grandesentreprises/';
    					$fichier = basename($_FILES['photo']['name']);
    					$taille_maxi = 1000000;
    					$taille = filesize($_FILES['photo']['tmp_name']);
    					if($taille>$taille_maxi)
    					{
    						 $erreur = 'Le fichier est trop gros';
    					}
    					if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    					{
    						 //On formate le nom du fichier ici...
    						 $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    						 $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    						 if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    						 {
    							  echo 'Formulaire traité avec succès, cliquez içi pour revenir au site "<a href="../../accueil.php">accueil</a> ou içi "<a href="./index.php">index administration</a> pour ajouter ou supprimer d&prime;autres articles.';
    						 }
    						 else //Sinon (la fonction renvoie FALSE).
    						 {
    							  echo 'Echec de l\'upload !';
    						 }
    					}
    					else
    					{
    						 echo $erreur;
    					}	
     
     
    					}
    					if (!$error) {
     
    						$id=$_POST['id'];
    						// si pas d'erreur on a joute à la DB (si pas d'upload d'image => pas d'erreur)
    						mysql_query("UPDATE grandesentreprises SET nomphoto='$fichier', titre='$titre', prearticle='$prearticle', nom='$nom', article='$article', signature='$signature' WHERE id='$id' ") or die(mysql_error());
    						mysql_query("UPDATE maj SET jour='$jour', njour='$njour', mois='$mois', annee='$annee', heure='$heure', minute='$minute' WHERE id='1'");
    						echo 'Formulaire traité avec succès, cliquez içi pour revenir au site "<a href="../../accueil.php">accueil</a> ou içi "<a href="./index.php">index administration</a> pour ajouter ou supprimer d&prime;autres articles.';
    					}
     
    			}
    J'arrive même plus a reflechir, ca me fait mal au crane

  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
    Par défaut
    Pourrais-tu être plus explicite sur le problème que tu rencontres ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Par défaut
    lorsque je veux mettre a jour des données précise, cela ne marche pas, pourtant le code marche bien quand j'insère de nouvelles données.

    en gros,

    INSERT INTO ... => ok
    UPDATE ... => marche pas

  4. #4
    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
    Par défaut
    Et a part "ca marche pas", pourrais-tu nous en dire plus ?
    Par exemple
    Est-ce que cela concerne les deux UPDATE ?
    Y a t'il une erreur indiquée pour l"une des deux requetes ?
    as-tu le message "Formulaire traité" ou même pas ?

    En dehors du fait que tu utilises $error au lieu de $erreur, affiche les requêtes pour voir un peu plus precisemment ce qui se passe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (!$erreur) {
     
    						$id=$_POST['id'];
    						// si pas d'erreur on a joute à la DB (si pas d'upload d'image => pas d'erreur)
    						echo ("UPDATE grandesentreprises SET nomphoto='$fichier', titre='$titre', prearticle='$prearticle', nom='$nom', article='$article', signature='$signature' WHERE id='$id' ");
    						echo("UPDATE maj SET jour='$jour', njour='$njour', mois='$mois', annee='$annee', heure='$heure', minute='$minute' WHERE id='1'");
    						echo 'Formulaire traité avec succès, cliquez içi pour revenir au site "<a href="../../accueil.php">accueil</a> ou içi "<a href="./index.php">index administration</a> pour ajouter ou supprimer d&prime;autres articles.';
    					}
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 92
    Par défaut
    Je n'ai aucun message d'erreur, lorsque le formulaire est traité, j'obtiens une page blanche, l'image n'est pas traité, elle n'apparait pas dans le dossier, et je n'ai aucune entrée dans la base de donnée, j'ai un truc dedans qui coince tout le reste, le deuxieme "UPDATE maj" fonctionnait tres bien, mais depuis cette page de traitement rien.

    Je met le code entier de la page de traitement

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Document sans titre</title>
     
    </head>
        <body>
    <?php
    /* Récupe des données et transfert vers dossier (photo) et envois à la base de données */
     
     
     
    include'../../include/identifiants.php';
     
    	mysql_connect($adresse,$nom,$motdepasse) or die(mysql_error());
    	mysql_select_db($database) or die(mysql_error());
     
    			$titre=$_POST['titre'];
    			$nom=$_POST['nom'];
    			$prearticle=nl2br(htmlspecialchars($_POST['prearticle']));
    			$article=nl2br(htmlspecialchars($_POST['article']));
    			$signature=$_POST['signature'];
    			$id=$_POST['id'];
    			$jour=date(l);
    			$njour=date(d);
    			$mois=date(m);
    			$annee=date(Y);
    			$heure=date(H);
    			$minute=date(i);
     
    // à la place de :
    // if (isset($_POST['none'])) {
    if (isset($_FILES['photo']) && !empty($_FILES['photo']['tmp_name'])) {
     
     
    					$dossier = '../../images/bdd/grandesentreprises/';
    					$fichier = basename($_FILES['photo']['name']);
    					$taille_maxi = 1000000;
    					$taille = filesize($_FILES['photo']['tmp_name']);
    					if($taille>$taille_maxi)
    					{
    						 $erreur = 'Le fichier est trop gros';
    					}
    					if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    					{
    						 //On formate le nom du fichier ici...
    						 $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    						 $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    						 if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    						 {
    							  echo 'Formulaire traité avec succès, cliquez içi pour revenir au site "<a href="../../accueil.php">accueil</a> ou içi "<a href="./index.php">index administration</a> pour ajouter ou supprimer d&prime;autres articles.';
    						 }
    						 else //Sinon (la fonction renvoie FALSE).
    						 {
    							  echo 'Echec de l\'upload !';
    						 }
    					}
    					else
    					{
    						 echo $erreur;
    					}	
     
     
    					}
    					if (!$erreur) {
     
    						$id=$_POST['id'];
    						// si pas d'erreur on a joute à la DB (si pas d'upload d'image => pas d'erreur)
    						mysql_query("UPDATE grandesentreprises SET nomphoto='$fichier', titre='$titre', prearticle='$prearticle', nom='$nom', article='$article', signature='$signature' WHERE id='$id' ") or die(mysql_error());
    						mysql_query("UPDATE maj SET jour='$jour', njour='$njour', mois='$mois', annee='$annee', heure='$heure', minute='$minute' WHERE id='1'");
    						echo 'Formulaire traité avec succès, cliquez içi pour revenir au site "<a href="../../accueil.php">accueil</a> ou içi "<a href="./index.php">index administration</a> pour ajouter ou supprimer d&prime;autres articles.';
    					}
     
    			}
     
    /* Fin */
     
    			mysql_close();
    		?>
     
     
     
    L&prime;article a bien &eacute;t&eacute; supprim&eacute;.<br /><br />Retourner &agrave; :
     
    <ul>
    	<li><a href="../../accueil.php">Accueil du site</a></li>
        <li><a href="../">Index de l'administration</a></li>
        <li><a href="./">Index de "Grandes entreprises</a></li>
    </ul>
    </body>
    </html>
    j'espere que ca pourras t'aider plus pour comprendre mon problème, et me connaissant ca doit être une toute petite erreur du style l'oublis d'un caractère ou je ne sais quoi de ce genre, mais j'ai beau me relire je trouve pas.

    Pour UPDATE maj, il est uniquement sous cette forme sur tout mes pages de mise a jour, il me sert a rentrer les données pour afficher la dernière mise a jour sur le site. Par contre le premier qui concerne les grandes entreprises habituellement il est uniquement en INSERT INTO, et dans ce cas la il fonctionne très bien, c'est depuis que je l'ai modifier en UPDATE qu'il ne marche plus

    edit, je viens de voir des guillemet en trop a la fin de mon code, j'espere que c'etait pas ca, sinon j'vous aurez embeter avec pour rien :/.

  6. #6
    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
    Par défaut
    Tu as un } qui se ballade.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {
    						 echo $erreur;
    					}	
     
     
    					}
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Update ne fonctionnant pas à la première exécution
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/11/2006, 18h25
  2. Chaîne SQL update ne fonctionne pas (faut-il l'imbriquer ?"
    Par beegees dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/10/2006, 11h22
  3. UPDATE ne fonctionne pas ?
    Par crocodile dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/07/2006, 16h50
  4. Requete UPDATE ne fonctionnant pas
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 12/04/2006, 17h19
  5. Microsoft Update ne fonctionne pas sous Win 2000 SP4
    Par botakelymg dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 03/10/2005, 05h32

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