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 :

Error sur insert [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut Error sur insert
    Bjr a tous,
    J'ai entrain de faire un code qui sert a un instructor de preciser si un etudiant present ou absent durant la matiere, tous marche correctment, le login, l'insertion des matieres, des instructeur, les etudiant, et la jointure des etudiant avec les matiere encore marche correctement, mais lorsque je veux inserer la presence d'une matiere, rien et ajouter. Le code est:

    La premier page qui precise qu'elle matiere on va faire la presence.
    La deuxieme c'est lorsqu'on passe a preciser a l'aide dune table, pour chauqe etudiant de cette matiere si il est present ou non.
    Est-ce que vous pouvez m'aidr a trouver pourquoi rien et ajouter ?
    Merci.
    ---Page 1---
    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
     
    <? 
    session_start();
    if(!session_is_registered(myusername)){
    header("location:index.html");
    }
    ?>
    <html>
    <head>
    <title></title>
    </head>
    <body>
      <div id="header"></div>
      <BR/>
        <BR/>
        <BR/>
        <BR/>
    	<?php
     
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="***"; // Database name 
    $tbl_name="***"; // Table name 1
     
    // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
     
    $coname=$_POST['coname'];
     
    // Retrieve data from database 
    $sql="SELECT * FROM $tbl_name , student WHERE student_id=id and course_id=$coname";
    $result=mysql_query($sql);
    ?>
    <form name="form" method="POST" action="at_insert.php">
     
     
    <input type="hidden" name="coid" id="coid" value="<? echo $coname; ?>">
    	<table width="398" border="0" align="center" cellpadding="0" cellspacing="1">
    <tr>
     
     
     
    <td><CENTER>
    <table  border="1" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
    <tr>
    <td>Student Name</td>
    <td>Attend Or Not</td>
    <?php // Start looping rows in mysql database.
    $i = 0;
    while($rows=mysql_fetch_array($result)){?>
    <tr>
    <td><?php echo $rows['name']; ?><input type="hidden" name="stid<?echo$i?>" id="stid<?echo$i?>" value="<?php echo $rows['student_id']; ?>"></td>
     
    <td><select name="attend<?echo$i?>" id="attend<?echo$i?>">
    <option value = "1" >ATTEND</option>
    <option value = "0" >NOT ATTEND</option>
    </td></tr></select>
    <?php $i++; } ?>
    <input type="hidden" name="count" id="count" value="<?php echo $i ?>">
    <?// close while loop 
     
    // close connection 
    mysql_close();
    ?></td>
    </tr>
    </table>
    </BR>
    Date :<FONT COLOR="red" SIZE="1"> (YYYY-MM-DD) </FONT><input name="date" type="text" id="date">  <input type="submit" name="Submit" value="Take"></CENTER>
    </form>
    </table>
    <div id="footer"></div>
    </body>
    </html>
    ---Page 2---
    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
     
    <? 
    session_start();
    if(!session_is_registered(myusername)){
    header("location:index.html");
    }
    ?>
    <?php
     
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="***"; // Database name 
    $tbl_name="***"; // Table name 
    // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");
     
    // Get values from form
    $i = $_POST['count'];
    $j = 0;
    while ( $j < $i )
    {
    $course_id=$_POST['coid'];
    $student_id=$_POST[stid.$j];
    $date=$_POST['date'];
    $attend=$_POST[attend.$j];
     
    // Insert data into mysql 
    $sql="INSERT INTO $tbl_name(course_id, student_id, date, attend)VALUES('$course_id', '$student_id', '$date', '$attend')";
    $result=mysql_query($sql);
     
     
    $j ++ ; }
     
    // if successfully insert data into database, displays message "Successful". 
    if($result){
    header("location:done.php");}
    else {
    header("location:at_false.php");
    }
     
    // close connection 
    mysql_close();
    ?>

  2. #2
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    il manque des '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $course_id=$_POST['coid'];
    $student_id=$_POST['stid'.$j];
    $date=$_POST['date'];
    $attend=$_POST['attend'.$j];

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    Je les ajouter, mais rien et ajouter.
    Autre solution ?
    Merci.

  4. #4
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    Citation Envoyé par patrickbaras Voir le message
    il manque des '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $course_id=$_POST['coid'];
    $student_id=$_POST['stid'.$j];
    $date=$_POST['date'];
    $attend=$_POST['attend'.$j];

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    L'erreurs:
    1- Notice: Undefined index: stid0 in C:\wamp\www\...
    2- Notice: Undefined index: attend0 in C:\wamp\www\...
    3- la requete INSERT INTO attend(course_id, student_id, date, attend)VALUES('', '', '2014-04-17', '')
    Requête invalide : Incorrect integer value: '' for column 'course_id' at row 1
    Merci pour votre effort tous.

  6. #6
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="INSERT INTO $tbl_name(course_id, student_id, date, attend)VALUES('$course_id', '$student_id', '$date', '$attend')";
    echo "<hr/>".$sql."<hr/>";
    $result=mysql_query($sql);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // if successfully insert data into database, displays message "Successful". 
    if($result){
        echo "ok";
        exit;
        header("location:done.php");
    }
    else {
        echo "not ok";
        exit;
        header("location:at_false.php");
    }
    que t'affiche les : echo "<hr/>".$sql."<hr/>";

  7. #7
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    Encore rien et ajouter.

  8. #8
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    j'ai testé ton code chez moi cela fonctionne

  9. #9
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    Alors je pense que le probleme est dans la base de donnee.

  10. #10
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    Bonjour.
    Patrick t'a suggéré d'ajouter une ligne de débuguage, la ligne 2 ci-dessous :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql="INSERT INTO $tbl_name(course_id, student_id, date, attend)VALUES('$course_id', '$student_id', '$date', '$attend')";
    echo "<hr/>".$sql."<hr/>";
    $result=mysql_query($sql);
    Je te suggère de copier la requête qui doit s'afficher entre les 2 lignes et de la coller dans ton gestionnaire de bdd (phpmyadmin par exemple). cela te permettra de vérifier si la requête possède la bonne syntaxe. Au besoin, tu peux poster cette requête ici.

    Yves

  11. #11
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    La requette sql est correcte, mais rien et ajouter.

  12. #12
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Essayes avec cela

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $num_con = mysql_connect("$host", "$username", "$password")or die("cannot connect");

    et plus bas

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $result=mysql_query($sql,$num_con);
    echo 'la requete '.$sql.'<br>';
    if (!$result) {
        die('Requête invalide : ' . mysql_error());
    }

    Qu'est ce que ça donne?

  13. #13
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    Peux tu poster la requête telle quelle s' affiche ?

  14. #14
    Membre émérite Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 601
    Par défaut
    En lignes 7 et 8, ci-dessous, les " ne doivent pas être présents :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="***"; // Database name ---> ne pas oublier de mettre le nom de la base ;-)
    $tbl_name="***"; // Table name 
    // Connect to server and select database.
    mysql_connect($host, $username, $password)or die("cannot connect"); 
    mysql_select_db($db_name)or die("cannot select DB")

  15. #15
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    Ok, demain je realise un test pour le sql et je le poste ici

  16. #16
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    J'ai obtenu 3 erreurs durant l'execution du code:

    1- Notice: Undefined index: stid0 in C:\wamp\www\
    2- Notice: Undefined index: attend0 in C:\wamp\www\
    3- la requete INSERT INTO attend(course_id, student_id, date, attend)VALUES('', '', '2014-04-17', '')
    Requête invalide : Incorrect integer value: '' for column 'course_id' at row 1

  17. #17
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    ajoute ceci et poste le resultat du var_dump

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Get values from form
    echo "<pre>";
    var_dump($_POST);
    echo "</pre>";
    exit;
    $i = $_POST['count'];
    $j = 0;
    while ( $j < $i )

  18. #18
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    array
    'coid' => string '<? echo $coname; ?>' (length=19)
    'stid<?echo$i?>' => string '3' (length=1)
    'attend<?echo$i?>' => string '1' (length=1)
    'count' => string '2' (length=1)
    'date' => string '2014-04-17' (length=10)
    'Submit' => string 'Take' (length=4)

  19. #19
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525

  20. #20
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2014
    Messages : 38
    Par défaut
    Ok, merci.
    Avec votre remarques, la requette insert, fonctionne normalement.
    Merci.

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

Discussions similaires

  1. [Système] Parse error sur requete INSERT
    Par gids01 dans le forum Langage
    Réponses: 4
    Dernier message: 17/04/2007, 16h54
  2. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41
  3. Réponses: 10
    Dernier message: 24/02/2005, 14h57
  4. événement sur INSERT, DELETE, UPDATE
    Par papouAlain dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/12/2004, 15h40
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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