Problème INSERT INTO

Résolu
Signaler
Messages postés
4
Date d'inscription
lundi 8 février 2010
Statut
Membre
Dernière intervention
24 février 2010
-
Messages postés
14
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
30 novembre 2011
-
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

Messages postés
4
Date d'inscription
lundi 8 février 2010
Statut
Membre
Dernière intervention
24 février 2010

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 ?
Messages postés
11
Date d'inscription
jeudi 23 octobre 2008
Statut
Membre
Dernière intervention
20 octobre 2010

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);



}
}
Messages postés
11
Date d'inscription
jeudi 23 octobre 2008
Statut
Membre
Dernière intervention
20 octobre 2010

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
Messages postés
14
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
30 novembre 2011

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.
Messages postés
14
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
30 novembre 2011

En fait j'ai trouvé. J'ai oublié mysql_query($query1) donc elle ne s'exécutait pas.