Requête php insert tableaux besoin d'aide!

Résolu
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
euh ma requête ne veut pas marcher pourtant tout est mis à cette in et je ne comprend pas toujours l'erreur!!


<?php
$code_mat_pre=$_POST["code_mat_pre"];
$qte_mat_pre=$_POST["qte_mat_pre"];
$typ_mat_pre=$_POST["typ_mat_pre"];
mysql_connect("localhost", "root", "") or die ("Connexion au serveur échouée");
mysql_select_db("art-mania") or die ("Connexion à la base échouée");
$requete="insert into matiere_premiere (typ_mat_pre,code_mat_pre) values ($typ_mat_pre,$code_mat_pre)";
$requete= "insert into necessiter (qte_mat_pre) values ('$qte_mat_pre')";
$result=mysql_query($requete);

if(!$result){
echo("erreur");
}


mysql_close();

?>
sachant que ce qui en gras est un test de ma part pour vérifier s'il y a erreur et qu'il apparait tous le temps malgré que j'ai tout vérifier et que ça commence à me taper sur le système tellement ça m'a pris du temps!!!!
merci à vous
A voir également:

10 réponses

Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
1- es ce que tu as testé tes requetes sous phpmyadmin, pour etre sur que des contraites de la table (not null par exemple) ne viennent pas t'embeter ?

$requete="insert into matiere_premiere (typ_mat_pre,code_mat_pre) values ($typ_mat_pre,$code_mat_pre)"; 
$requete= "insert into necessiter (qte_mat_pre) values ('$qte_mat_pre')"; 
$result=mysql_query($requete); 


tu écrases ta variable requete... je suis pas sur que ce soit normal ;)

dans la première requète, tu ne met pas de 'quotes', mais tu en mets dans la 2°... le probleme ne viendrait il pas de la ?
0
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
bonsoir concernant la variable requête comment vous me conseillez pour y mettre différente requêtes sans l'écraser??
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
ben deja j'aurais mis un ; pour finir la première requete (une base du sql, non? et du php, et du C, et du java ....)
et ensuite, j'aurais fait sur la 2° ligne: $requete += pour concatener...

j'ai pas dit que ca marcherai, je dis juste que j'aurai cherché par la. Dans un premier temps, je te conseilles meme de faire ton test avec une requete en dur du genre:

$requete= "insert into necessiter (qte_mat_pre) values ('15');";
0
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
c'est un base mysql bon j'espère que concaténer par cette façon marcherai même si déjà même la 2ème requête celle qui écrase ne marche toujours pas!(toujoiurs message d'erreur!!)
merci en tous cas je vais m'y mettre et je reviendras :)
0

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

Posez votre question
dolmenhir Messages postés 246 Date d'inscription   Statut Membre Dernière intervention   25
 
déjà clarifie tes modes opératoires

initialise tes variables de connection

$hostname = "localhost";
$database = ""art-mania"";
$username = "root";
$passwords = "";

Synthétise ta connexion et définie la base par défaut

$connect = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database, $connect);

ensuite tu fais ta première requête

$requete="INSERT INTO matiere_premiere (typ_mat_pre,code_mat_pre) VALUES ('".$_POST['typ_mat_pre']."','".$_POST['code_mat_pre']."')";
$result = mysql_query($requete, $connect) or die(mysql_error());

puis la seconde

$requete= "INSERT INTO necessiter (qte_mat_pre) VALUES ('".$_POST['qte_mat_pre']."')";
$result = mysql_query($requete, $connect) or die(mysql_error());

et ton retour si erreur

if(!$result){
echo("erreur");
}

enfin tu fermes

mysql_close();

Ça me semble plus clair.
Si ça passe pas, c'est qu'il y a autre chose dans la base, comme un champs NOT NULL qui n'est pas rempli ici et donc l'insertion ne peut se faire.
0
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
bonsoir :((((((((( j'ai essayé avec ce que dolmenhir m'a envoyé
j'ai une erreur qui apparait dans la ligne
$connect = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
Duplicata du champ '' pour la clef 1
savez vous de quoi s'agit-t-il????????
0
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
désolé j'ai corrigé cette faute et voici d'autre faute qui apparaissent!
Warning: mysql_connect(): Acc�s refus� pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in formulaire_action.php on line 50

Fatal error: Acc�s refus� pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI) in formulaire_action.php on line 50
0
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
ligne 50
$connect = mysql_connect($hostname, $username, $passwords) or trigger_error(mysql_error(),E_USER_ERROR);
0
dolmenhir Messages postés 246 Date d'inscription   Statut Membre Dernière intervention   25
 
y a un mot de passe ou pas pour te connecter à ta base ?
Si oui, faut l'indiquer dans les paramètres de connexion
$hostname = "localhost";
$database = ""art-mania"";
$username = "root";
$passwords = "mot-de-passe";

$connect = mysql_connect($hostname, $username, $password)
si non, faut mettre à vide ($connect = mysql_connect($hostname, $username, ""))
0
roy mustang Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   2
 
merci j'ai corrigé mes fautes :)
0