[SQL] Erreur SQL
Bonjour,
En voulant envoyer les donner d'un formulaire vers une base ACCESS avec le code suivant:
J'obtient cetts erreur:
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table 'ABONNEMENTS'., SQL state 23000 in SQLExecDirect in c:\program files\easyphp\www\stagekevin\abonnements.php on line 82
Erreur SQL !
INSERT INTO paiement (num_carte°, date_paiement) VALUES ('33', '04/06/2007')
Quelqu'un pourait-il m'aider?
Merci d'avance
En voulant envoyer les donner d'un formulaire vers une base ACCESS avec le code suivant:
<?
$datedujour=date("d/m/Y");
$base ="C:\Program Files\EasyPHP\mysql\data\Parking.mdb";
$connexion = odbc_connect('MS Access Database', 'root', '') or die ('Erreur de connexion');
$nbcarte=$_POST["nbcarte"];
$nbveh=$_POST['nbveh'];
$datepai=$_POST['datepai'];
$moypai=$_POST['moypai'];
$sql = "INSERT INTO paiement (num_carte°, date_paiement) VALUES ('$nbcarte', '$datepai')";
$req = odbc_do($connexion, $sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
odbc_close( $connexion);
?>
J'obtient cetts erreur:
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table 'ABONNEMENTS'., SQL state 23000 in SQLExecDirect in c:\program files\easyphp\www\stagekevin\abonnements.php on line 82
Erreur SQL !
INSERT INTO paiement (num_carte°, date_paiement) VALUES ('33', '04/06/2007')
Quelqu'un pourait-il m'aider?
Merci d'avance
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
Salut,
Je pense qu'il y a une table appelée Abonnement dans ta base de données et qu'il y a une contrainte obligeant tout enregistrement de ta table paiement d'être également dans la table abonnement.
Regarde dans les liens entre tes tables.
-
Oui il y avait un lien entre ces de champs
Mais même en le retirant sa ne marche toujours pas, j'ai toujours la même erreur..-
Supprimer le lien ne suffit pas, il faut egalement supprimer la contrainte. Ta colonne est renseignée comme clé externe de la deuxième table, et c'est pour ca que tu as une erreur.
D'un autre coté, je ne suis pas certain qu'il faut supprimer cette contrainte, regarde tout de même si tu ne devrais pas plustot insérer ton record dans la table abonnement avant de l'insérer dans la table payement ! Il me parait en effet logique pour pour avoir un payement il faut au préalable avoir eu un abonnement non ?
-
@Pool OrionComment fait on pour supprimer la contrainte?
(Dsl je ne connait pas trop ACCESS, ce n'est pas moi qui est fait la table..) -
@KévYnDésolé mais je viens de faire un test et en supprimant le lien, la contraite est automatiquement supprimée. Regarde peut-être dans les propriété de ton champs de table s'il n'y a pas un champs lié. Sinon, il me faudra ta base de données pour pouvoir t'aider.
-
@Pool OrionC'est bon en enlevant les lien sa marche en faite...je n'avais pas modifier la bonne base -_-'
Merci pour ton aide!
-