Problème INSERT INTO

Résolu
naroco Messages postés 4 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 24 février 2010 - 16 févr. 2010 à 17:29
bretdu55 Messages postés 14 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 30 novembre 2011 - 6 mars 2010 à 14:04
Bonjour
J'ai créé un formulaire de saisie d'heures pour une liste d'activités.
Je souhaiterais insèrer dans ma base de données les activités pour lesquelles des heures ont été collectées ainsi que le nombre d'heures collecté.
Pour cela je stocke dans un tableau $mep4 la liste des activités dont le nombre d'heure n'est pas vide.

Merci à celui ou celle qui pourra me "dépatouiller"

for ($i=0;$i<count($donnees4);$i++)
{
if (empty($_POST['heure4'][$i]))
{
}
else{
$sstot4=$array4[$i]+$sstot4;
$mep4[$i]['oi_ae']=$donnees4[$i]['oi_ae'];
$mep4[$i]['ordre']=$concat4;
$mep4[$i]['oi_lib']=$donnees4[$i]['oi_lib'];
$mep4[$i]['heure']=$array4[$i];
}
}


Ensuite je veux mettre à jour ma BDD


$cnx=mysql_connect("localhost","root","") or  die('Problème de connection à mysql');
$base=mysql_select_db("collectemo") or die('Problème de DB');

$requete4="INSERT INTO temp (temp_nni,temp_ae,temp_ordre,temp_liboi,temp_nbh) VALUES ($nni,'$mep4[oi_ae]','$mep4[ordre]','$mep4[oi_lib]',$mep4'[heure]')";
$resultat4=mysql_query($requete4,$cnx);
$fermeture=mysql_close($cnx);

5 réponses

naroco Messages postés 4 Date d'inscription lundi 8 février 2010 Statut Membre Dernière intervention 24 février 2010
17 févr. 2010 à 15:00
J'ai procèder de la manière que tu m'as conseillé.
sachant que $i4 est une variable qui stocke le nombre d'activités renseignées
for ($i=0;$i<$i4;$i++)
{
$requete4="INSERT INTO temp (temp_ae,temp_ordre,temp_liboi,temp_nbh) VALUES (`".$mep4[$i]['oi_ae']."`,`".$mep4[$i]['ordre']."`,`".$mep4[$i]['oi_lib']."`,`".$mep4[$i]['heure']."`)";
$resultat4=mysql_query($requete4,$cnx) or die(mysql_error());
}


Mais j'ai le message suivant : Unknown column 'CB' in 'field list'
CB est la valeur de $mep4[$i]['oi_ae']

As tu une idée sur le problème ?
3
cs_mirage42 Messages postés 11 Date d'inscription jeudi 23 octobre 2008 Statut Membre Dernière intervention 20 octobre 2010
17 févr. 2010 à 10:34
Salut,

for ($i=0;$i<count($donnees4);$i++)
{
if (empty($_POST['heure4'][$i]))
{
}
else{
$sstot4=$array4[$i]+$sstot4;
$mep4[$i]['oi_ae']=$donnees4[$i]['oi_ae'];
$mep4[$i]['ordre']=$concat4;
$mep4[$i]['oi_lib']=$donnees4[$i]['oi_lib'];
$mep4[$i]['heure']=$array4[$i];

EXECUTES ta requete ici avec toutes les valeurs récupérer pour chaque ligne tu pourra faire un INSERT pour chaque ligne de ta table

$requete4="INSERT INTO temp (temp_nni,temp_ae,temp_ordre,temp_liboi,temp_nbh) VALUES ($nni,'$mep4[oi_ae]','$mep4[ordre]','$mep4[oi_lib]',$mep4'[heure]')";
$resultat4=mysql_query($requete4,$cnx);



}
}
0
cs_mirage42 Messages postés 11 Date d'inscription jeudi 23 octobre 2008 Statut Membre Dernière intervention 20 octobre 2010
17 févr. 2010 à 23:25
Unknown column 'CB' in 'field list'

Tu a apparament un champ de colonne inconnue dans ta base lors de l'insert il ne sait donc pas ou l'enregistrer

Un bon moyen de débugger ton appli test ta requetes SQL sous PhpMyAdmin en remplaçant tes variables par des valeurs bidon et regardes déja si sa marche ou pas , si sa marche pas tu a du faire une erreur dans les noms de tes champs de ta table...


Un exemple tous frais tirée de mon code par exemple pour enregistrer tous les utilisateurs dans une base a partir d'un annuaire AD:

for ($i=0; $i<$entries["count"]; $i++)
{
$compte_ad = $entries[$i]["samaccountname"][0]; //Récupère le compte utilisateur
$nom = $entries[$i]["givenname"][0]; //Récupère le nom de l'utilisateur
$prenom = $entries[$i]["sn"][0]; //récupère le prenom utilisateur




//=================REQUÊTES SQL=================
$req2="INSERT INTO `utilisateurs` VALUES ('$compte_ad','$nom','$prenom')";

}

Et sa marche nikel !

Voila en espérant t'avoir aider sur ce ch'ti problème
0
bretdu55 Messages postés 14 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 30 novembre 2011
6 mars 2010 à 13:53
Bonjour, moi aussi j'ai le même problème pour l'ajout d'utilisateur. J'ai testé ma requette sous mysql et cela marche nickel. Par contre depuis ma page PHP, rien ne se passe, même pas de message d'erreur.

<?php

if(isset($_POST["envoyer"]))
{
$login=$_POST["login"];
$pass=$_POST["mdp"];
$nom=$_POST["nom"];
$email=$_POST["email"];
$connexion=mysql_connect("localhost","root","") or die ("impossible de se connecter à la base");
$basedonnée=mysql_select_db("site") or die ("impossible de sélectionner la base de données");
$query1 = "INSERT INTO membres (login,password,nom,email,userlevel) VALUES ('$login','$pass','$nom','$email','1')";
}
?>


Merci beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bretdu55 Messages postés 14 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 30 novembre 2011
6 mars 2010 à 14:04
En fait j'ai trouvé. J'ai oublié mysql_query($query1) donc elle ne s'exécutait pas.
0
Rejoignez-nous