Erreur SQL/php
Résolu/Fermé
lyn1109
Messages postés
6
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
26 mai 2009
-
26 mai 2009 à 13:06
Yorundr Messages postés 289 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 11 juin 2012 - 26 mai 2009 à 14:33
Yorundr Messages postés 289 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 11 juin 2012 - 26 mai 2009 à 14:33
A voir également:
- Erreur SQL/php
- Erreur 0x80070643 - Guide
- Retour a la ligne php ✓ - Forum PHP
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur 10016 epson - Forum Imprimante
- Erreur c2002 western union ✓ - Forum Vos droits sur internet
8 réponses
Yorundr
Messages postés
289
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2012
44
26 mai 2009 à 13:35
26 mai 2009 à 13:35
Salut,
ce qui pourrait aider c que tu montre ta fonctionEnregistrerProduit()
La jointure est inutile, parcontre il faut que ta clé etrangere existe bien
ce qui pourrait aider c que tu montre ta fonctionEnregistrerProduit()
La jointure est inutile, parcontre il faut que ta clé etrangere existe bien
Euh techniquement c'est bon, mais ça ne veut rien dire (sauf si une personne est un produit).
Sinon faudrait revoir ton modèle de données non?
Sinon faudrait revoir ton modèle de données non?
lyn1109
Messages postés
6
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
26 mai 2009
26 mai 2009 à 13:18
26 mai 2009 à 13:18
Au fait la personne propose un produit , le modele de donnée est bon
on a besoin de la clé de table Personne dans la table produit pour relier les 2!!!
mais je ne sais pas ca ne marche pas!!!
on a besoin de la clé de table Personne dans la table produit pour relier les 2!!!
mais je ne sais pas ca ne marche pas!!!
lyn1109
Messages postés
6
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
26 mai 2009
26 mai 2009 à 13:24
26 mai 2009 à 13:24
je me dis que c'est peut etre une fonction Php qu'il faudrait ajouter
mon code PHP pour l'insertion :
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
// appel de la fonction d'enregistrement et construction du compte-rendu
$insererproduit = enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf);
echo ("$insererproduit");
if($insererproduit == 1)
{
echo ('<b>Votre produit a bien été mis en enchère</b>');
}
else if ($insererproduit == 2)
{
echo ("Erreur SQL");
}
}
si ca peut vous aider!!!
merci!!
mon code PHP pour l'insertion :
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
// appel de la fonction d'enregistrement et construction du compte-rendu
$insererproduit = enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf);
echo ("$insererproduit");
if($insererproduit == 1)
{
echo ('<b>Votre produit a bien été mis en enchère</b>');
}
else if ($insererproduit == 2)
{
echo ("Erreur SQL");
}
}
si ca peut vous aider!!!
merci!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lyn1109
Messages postés
6
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
26 mai 2009
26 mai 2009 à 13:38
26 mai 2009 à 13:38
la voici!!
<?php
// fonction correspondant a l'enregistrement d'un produit
function enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf)
{
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix', '$cat', '$dateD', '$dateF', '$hd', '$hf')";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et merci
<?php
// fonction correspondant a l'enregistrement d'un produit
function enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf)
{
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix', '$cat', '$dateD', '$dateF', '$hd', '$hf')";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et merci
Yorundr
Messages postés
289
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2012
44
26 mai 2009 à 13:42
26 mai 2009 à 13:42
Ah ben la oui c plus simple je voit tout de suite ton erreur...
En fait '$nom' n'est pas interpreté comme une variable mais comme une chiane de caractere. Ce qu'il faut que tu fasse c'est :
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('".$nomP."', '"....)
En fait '$nom' n'est pas interpreté comme une variable mais comme une chiane de caractere. Ce qu'il faut que tu fasse c'est :
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('".$nomP."', '"....)
lyn1109
Messages postés
6
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
26 mai 2009
26 mai 2009 à 14:16
26 mai 2009 à 14:16
Au fait ca n'a rien avoir avec ca!!
on a essayé ca pour inserer une personne ,mais ca marche!!
donc le probleme est avec la clé etrangére et le probleme à été reglé comme ca:
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
//recupere code personne
$Rq1 = "Select * from Personnes WHERE loginPers = '$login' ";
$Exrq = mysql_query($Rq1);
$nbligne = mysql_num_rows($Exrq);
if ($nbligne != 0)
{
$nuplet = mysql_fetch_array($Exrq);
$codePers = $nuplet ['CodePers'];
}
else
{
echo "aucune ligne trouvée";
}
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf') ";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et voila ce qu'il fallait faire!!!
merci pour votre aide!!!
on a essayé ca pour inserer une personne ,mais ca marche!!
donc le probleme est avec la clé etrangére et le probleme à été reglé comme ca:
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
//recupere code personne
$Rq1 = "Select * from Personnes WHERE loginPers = '$login' ";
$Exrq = mysql_query($Rq1);
$nbligne = mysql_num_rows($Exrq);
if ($nbligne != 0)
{
$nuplet = mysql_fetch_array($Exrq);
$codePers = $nuplet ['CodePers'];
}
else
{
echo "aucune ligne trouvée";
}
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf') ";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et voila ce qu'il fallait faire!!!
merci pour votre aide!!!
Yorundr
Messages postés
289
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2012
44
26 mai 2009 à 14:33
26 mai 2009 à 14:33
Oui c'est vrai j'avais pas fait gaffe, vous lui dite que vous allez inserer 10 colonne alors que vous ne lui en fournissiez que 9....
Ouai je suis pas convaincu que ca
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf')
ca marche, mais si ca marche tant mieu, par contre faite gaffe si vous n'avez pas de $codepers, vous pouvez quand meme executé la requete, et en plus la vous ne gerer pas les injections sql
Ouai je suis pas convaincu que ca
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf')
ca marche, mais si ca marche tant mieu, par contre faite gaffe si vous n'avez pas de $codepers, vous pouvez quand meme executé la requete, et en plus la vous ne gerer pas les injections sql