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 :

probleme d'insertion dans la base de donné


Sujet :

PHP & Base de données

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut probleme d'insertion dans la base de donné
    bonjours....

    SVP , j'ai bessoin d'un coup de main intelligent...j'ai script php dant lequel je voudrais modifier des donnée deja existant et l'inserer dans ma base de donné
    le script php marche bien , et il ya apparition des nouveaux donnée...
    mon probleme est que mes donnés dans la base ne changent rien..

    SVP qui a une idée....et ça sera trés synpha de sa coté...
    voici la partie de code correspandant...
    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
     
    	 <?php
    		 $id=$_POST['id'];
    		 $n=$_POST['nom'];
    		 $p=$_POST['pre'];
    		 //$m=$_POST['mat'];
    		 $s=$_POST['serv'];
    		 $stat="Affecté";
    		 $statpc="Fonctionnel";
    		 $req="UPDATE pc SET  nom='$n', pre='$p' ,service='$s' ,date_affect='$d',stat='$stat',statpc='$statpc' where id='$id' " ;
             $ver=mysql_query($req);
    		 $mvt="Affectation";
    		 $sql="insert into histo values('','$id', '$d','$mvt','$n','$p','$m','$s') ";
    		 $req="SELECT * FROM pc WHERE id='$id' " ;
             $rs=mysql_query($req);
             $nb=mysql_fetch_array($rs);
     
    		 ?>
    		 </td></tr>
    		 <tr><td><span class="Style1"> N° de série :</span></td> <td><? echo $nb[1]; ?></td></tr>
    		 <tr><td><span class="Style1"> Nom :</span></td> <td><? echo $nb[3]; ?></td></tr>
    		 <tr><td><span class="Style1"> Prénom :</span></td> <td><? echo $nb[4]; ?></td></tr>
    		 <tr>
    		   <td><span class="Style1"> UF / Matricule :</span></td> 
    		   <td><? echo $nb[5]; ?></td></tr>
    		 <tr><td><span class="Style1"> Services :</span></td> <td><? echo $nb[6]; ?></td></tr>
    		 <tr><td><span class="Style1"> Date : </span></td> <td><? echo $nb[10]; ?></td></tr>
    		 </table>
    		 </td>
    	   </tr>

  2. #2
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Bonsoir,
    Je ne sais pas si ce sera intelligent mais j'ai repéré des erreurs aux lignes 10, 13 et 14
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req="UPDATE pc SET  nom='$n', pre='$p' ,service='$s' ,date_affect='$d',stat='$stat',statpc='$statpc' where id='$id' " ;
    a remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req="UPDATE pc SET  nom='".$n."', pre='".$p."' ,service='".$s."' ,date_affect='".$d."',stat='".$stat."',statpc='".$statpc."' where id='".$id."' ;
    Quand des variables sont entourées par des " elles sont évaluées.
    Si elles sont entourées par de ' elles ne le sont pas.

    A+

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    bonsoirs

    merci beaucoup pour les remarques..
    j'ai changé comme vous avez proposé , mais il apparait une erreur dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql="insert into histo values(' ','".$id."', '".$d."','".$n."','".$p."','".$m."','".$s."')";
    merci pour votre comprehension..

    A+++

  4. #4
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Bonsoir,

    Pour avoir des renseignements plus complets sur les erreurs dans php-mysql, prenez l'habitude de mettre un or die après vos requêtes (à enlever quand le code est suffisamment mature pour être mis en exploitation)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql="insert into histo values(' ','".$id."', '".$d."','".$n."','".$p."','".$m."','".$s."')";
    $ver=mysql_query($sql) or die('Erreur dans la requete :<br />'.$sql.'<br />'.mysql_error());
    Autre chose à faire quand on a une erreur est d'afficher la requete dans le navigateur, de faire un copier -coller de celle-ci dans phpmyadmin et de regarder ce que ça dit.

    A+

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    bonsoirs

    meme avec ces modification toujours le meme erreur..
    A++

  6. #6
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Quel est le message d'erreur???

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    Parse error: parse error in c:\easyphp1-8\www\....\

  8. #8
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Montrez un peu les 2 ou 3 lignes qui précèdent, il se peut que la ligne précédente ne soit pas correctement terminée et que l'erreur n'apparaisse qu'à la lecture de la ligne dont nous parlons

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    merci beaucoup pour votre aide...

    voici la partie de 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
     
    <?php
    		 $id=$_POST['id'];
    		 $n=$_POST['nom'];
    		 $p=$_POST['pre'];
    		 $m=$_POST['matr'];
    		 $s=$_POST['serv'];
    		 //$se=$_GET['n_serie'];
    		 $stat="Reaffecté";
    		 $statpc="Fonctionnel";
    		 $mvt="reaffectation";
    		 $req="UPDATE pc SET   nom='".$n."', pre='".$p."' ,service='".$s."' ,date_affect='".$d."',stat='".$stat."',statpc='".$statpc."' where id='".$id."' ;
             $ver=mysql_query($req);
    		 $sql="insert into histo values(' ','".$id."', '".$d."','".$n."','".$p."','".$m."','".$s."')";
    		 $ver11=mysql_query($sql) or die('Erreur dans la requete :<br />'.$sql.'<br />'.mysql_error());
    		 $req="SELECT * FROM pc WHERE id='$id' " ;
             $rs=mysql_query($req);
             $nb=mysql_fetch_array($rs);
    l'erreur apparait dans la ligne 14...
    A++

  10. #10
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Citation Envoyé par pfakhmaies Voir le message
    l'erreur apparait dans la ligne 14...
    A++
    Ok, mais la ligne 13 devrait vous sauter à la figure.
    La coloration syntaxique vous montre que cette ligne est considérée comme la continuation d'un "string" de la ligne 12 (elle est en rouge).
    Donc il manque un " à la ligne 12
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req="UPDATE pc SET   nom='".$n."', pre='".$p."' ,service='".$s."' ,date_affect='".$d."',stat='".$stat."',statpc='".$statpc."' where id='".$id."'" ;
             $ver=mysql_query($req);
    		 $sql="insert into histo values(' ','".$id."', '".$d."','".$n."','".$p."','".$m."','".$s."')";
    Les éditeur qui colorent syntaxiquement sont là pour nous aider à trouver des erreurs aussi flagrantes que celle-ci.

    Courage.
    A+

  11. #11
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    encore merci beaucoup pour la remarque....
    mais j'ai un autre erreur
    "Erreur dans la requete :insert into histo values
    (' ','L3-P7754','14//2011','MERSNI','Hamza','G553752','AQF')
    Column count doesn't match value count at row 1"
    //////
    avec('L3-P7754','14//2011','MERSNI','Hamza','G553752','AQF') sont les nouveaux donné..????
    dans l'attente...!!!!!

  12. #12
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Citation Envoyé par pfakhmaies Voir le message
    "Erreur dans la requete :insert into histo values
    (' ','L3-P7754','14//2011','MERSNI','Hamza','G553752','AQF')
    Column count doesn't match value count at row 1"
    Ceci signifie qu'il y a une différence entre le nombre de colonne de la table histo et le nombre de valeurs que vous essayez d'insérer.
    Vous insérez 7 données. Combien de colonnes avez-vous dans la table histo

    A+

  13. #13
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    ah ,,, ok merci beaucoup,,
    en faite j'ai 8 colonne dans la table "histo"
    mais le premier colonne que je n'est pas le mettre , fait toujou une incrementation automatique à chaque insertion ,donc pas bessoin de l'inserer...

  14. #14
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Ben si.
    2 solutions :
    derrière values mettre autant de champs qu'il y a de colonnes dans la table en utilisant '' pour la valeur par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="insert into histo values('', ' ','".$id."', '".$d."','".$n."','".$p."','".$m."','".$s."')";
    ou
    indiquer après le nom de la table, les champs qu'on va remplir (attention à l'ordre des champs : les values doivent impérativement suivre le même ordre que les champs indiqués à la suite du nom de la table)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="insert into histo(champ1, champ2, champ3, champ4, champ5, champ6, champ7) values(' ','".$id."', '".$d."','".$n."','".$p."','".$m."','".$s."')";
    Sur ce, je vais me coucher.
    A demain peut-être

  15. #15
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Par défaut
    bonjours,,,,,

    merci beaucoup pour les remarque ....comme ça marche trés bien....
    et les anciens donné sont modifiés...
    mais le probleme initial reste la meme,,,, c'est à dire , lorsque je consulte ma base de donnée, les données restent inchangé...

    dans l'attente.....

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pfakhmaies Voir le message
    dans l'attente.....
    "dans l'attente....." de QUOI exactement ??
    - qu'on comprenne ton code à ta place ?
    - qu'on ouvre les yeux à ta place ?

    Questions :
    -> Le comprends-tu TOI-MEME ?

    Dans ton code, on voit une requete UPDATE et une autre INSERT ...
    -> Es-tu sûr de savoir à quoi ca sert et comment ca fonctionne ?

Discussions similaires

  1. Probleme d'insertion dans une base de donnée
    Par jubourbon dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/06/2009, 10h35
  2. probleme d'insertion dans la base de données
    Par mystro7200 dans le forum JDBC
    Réponses: 11
    Dernier message: 03/12/2008, 19h49
  3. Probleme d'insertion dans la base de données
    Par dedein84 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/07/2008, 09h33
  4. Réponses: 7
    Dernier message: 29/02/2008, 16h30
  5. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21

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