Erreur d'insertion

Résolu/Fermé
clovis - 19 avril 2013 à 11:25
 clovis - 19 avril 2013 à 13:50
bonjour, voici mon code:

// on teste la déclaration de nos variables
if (isset($_POST['mat']) && isset($_POST['objectif']))
{
//on recupère les valeurs
$mat= $_POST['mat'];
$real= $_POST['objectif'];
}
// connexion au serveur
$con=mysql_connect("localhost","root","") or die("erreur de connexion au serveur");

//connexion à la base de données
$bd=mysql_select_db("m_berte") or die("erreur de connexion à la base de données");

//formulation de la requête d'insertion
$sql='INSERT INTO information(agen_real) VALUES("'.$real.'")WHERE agen_mat="'.$mat.'" ';

//execution de requête
$req=mysql_query($sql) or die("erreur d'insertion");

//fermeture de la connexion à la base de données
mysql_close();

//message d'insertion
if($req)
{
header("location:rapport.php?mess1=insertion dans la base réussie");
}

nb: A mon sens il est correcte pourtant il me sort "erreur d'insertion, ce qui me fait dire que ma requête sql n'est pas juste! svp aidez moi à retrouver l'erreur même s'il faille que je vous envoie le formulaire qui va avec!!

4 réponses

Utilisateur anonyme
19 avril 2013 à 11:33
salut, deux choses :
if serai pas mal de vérifier si il y a quelquechose dans tes variables de post :

if (isset($_POST['mat']) && isset($_POST['objectif']) && !empty($_POST['objectif']) && !empty($_POST['mat'])) 


ensuite, dans le cas où tu ne rentre pas dans ton if, tes variables n'existent pas ? Il serai peu être préférable de faire avant ton if:
$mat = "";
$real="";



et pour ton insert ecris plutot :

$sql="INSERT INTO information(agen_real) VALUES('".$real."')WHERE agen_mat='".$mat."' "; 


(tu peux te rajouter un "echo $sql;" histoire de la vérifier visuellement aussi.

dis moi ce que ca donne.

naga
0
merci mais j'aurais dû vous donner plus de details, en fait c'est une mise a jour du champ d'une table que je voulais faire: j'explique!

les autres champs de la table etaient deja remplis, je voulais donc remplir le dernier a partir d'un formulaire qui allait reccueillir le matricule et la donnée à insérer dans le dernier champ à remplir!
la mise à jour de la base allait se faire si le matricule entré correspondait à celui présent déjà dans la base.
j'ai donc utilisé la clause UPDATE qui marche!!!
MERCI en tout cas d'avoir essayé de m'aider!!!!
0
Utilisateur anonyme
19 avril 2013 à 11:53
pas de soucis, content que ton pb soit résolut ^^

bne aprem. naga
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
19 avril 2013 à 11:55
stp marque comme résolu. le temps de lire tous les posts avant de s'en rendre compte que c'est résolu peut nous être épargné. le temps est précieux.
0
merci, à vous de même
0
c'est résolu
0