Probleme insert into pour site entreprise
Dernière réponse : dans Programmation
bonjour,voila je dois realiser un site pour une entreprise mais quand je veux ajouter une question il m'envoie "erreur d'écriture" sa fait plusieur heure que je suis sur cette erreur et je ne trouve pas la solution .
voila les table:
Create table Application (
Id_application Int NOT NULL AUTO_INCREMENT,
nom_application Varchar(150) NOT NULL,
Index AI_Id_application (Id_application),
Primary Key (Id_application)) ENGINE = INNODB DEFAULT CHARSET=latin1 ;
Create table Question (
num_Id_application Int NOT NULL,
Id_Question Int NOT NULL AUTO_INCREMENT,
Num_Question Int,
Question Char(255),
Reponse Char(255),
Picture Char(255),
num_Id_Source Int NOT NULL,
Primary Key (Id_Question)) ENGINE =INNODB DEFAULT CHARSET=latin1 ;
Create table Source (
Id_Source Int NOT NULL AUTO_INCREMENT,
Libelle_Source Char(50),
Primary Key (Id_Source)) ENGINE = INNODB DEFAULT CHARSET=latin1 ;
alter table Question add foreign key (num_Id_application) references Application(Id_application);
alter table Question add foreign key (num_Id_Source) references Source(Id_Source);
commit;
et voila mon code :
<?php
$serveur='localhost';
$utilisateur='root';
$mdp='';
$bdd='faq_dsic';
$num_ques= $_POST['num_question'];
$question= $_POST['question'];
$reponse = $_POST['reponse'];
$application=$_POST['application'];
$source= $_POST['source'];
$reponse1 = $_POST['reponse'];
$MonObjConnexion= new mysqli($serveur,$utilisateur,$mdp,$bdd);
if (mysqli_connect_errno())
{echo "probleme de connexion à la base de données";
exit;}
$MaReq= "insert into Question values(' ',' ' ,'.$num_ques.','.$question.','.$reponse.','.$reponse1.,' ' )";
$ObjResultReq=$MonObjConnexion->query($MaReq);
if (! $ObjResultReq)
{ die ("Erreur d'écriture");}
$MonObjConnexion->close();
?>
merci de votre aide
voila les table:
Create table Application (
Id_application Int NOT NULL AUTO_INCREMENT,
nom_application Varchar(150) NOT NULL,
Index AI_Id_application (Id_application),
Primary Key (Id_application)) ENGINE = INNODB DEFAULT CHARSET=latin1 ;
Create table Question (
num_Id_application Int NOT NULL,
Id_Question Int NOT NULL AUTO_INCREMENT,
Num_Question Int,
Question Char(255),
Reponse Char(255),
Picture Char(255),
num_Id_Source Int NOT NULL,
Primary Key (Id_Question)) ENGINE =INNODB DEFAULT CHARSET=latin1 ;
Create table Source (
Id_Source Int NOT NULL AUTO_INCREMENT,
Libelle_Source Char(50),
Primary Key (Id_Source)) ENGINE = INNODB DEFAULT CHARSET=latin1 ;
alter table Question add foreign key (num_Id_application) references Application(Id_application);
alter table Question add foreign key (num_Id_Source) references Source(Id_Source);
commit;
et voila mon code :
<?php
$serveur='localhost';
$utilisateur='root';
$mdp='';
$bdd='faq_dsic';
$num_ques= $_POST['num_question'];
$question= $_POST['question'];
$reponse = $_POST['reponse'];
$application=$_POST['application'];
$source= $_POST['source'];
$reponse1 = $_POST['reponse'];
$MonObjConnexion= new mysqli($serveur,$utilisateur,$mdp,$bdd);
if (mysqli_connect_errno())
{echo "probleme de connexion à la base de données";
exit;}
$MaReq= "insert into Question values(' ',' ' ,'.$num_ques.','.$question.','.$reponse.','.$reponse1.,' ' )";
$ObjResultReq=$MonObjConnexion->query($MaReq);
if (! $ObjResultReq)
{ die ("Erreur d'écriture");}
$MonObjConnexion->close();
?>
merci de votre aide
Autres pages sur : probleme insert into site entreprise
Lassé par la pub ? Créez un compte
Est-ce que tu peux montrer ton nouveau code ? parce qu'il y a une petite erreur que je n'avais pas vu au début :
$MaReq= "insert into Question values(' ',' ' ,'.$num_ques.','.$question.','.$reponse.','.$reponse1.,' ' )";
alors que ça marcherait mieux comme ça :
$MaReq= "insert into Question values(' ',' ' ,'".$num_ques."','".$question."','".$reponse."','".$reponse1."',' ' )";
et pour tester, fais un echo de ta requete avant de l'executer, et regarde si elle est bien formaté.
$MaReq= "insert into Question values(' ',' ' ,'.$num_ques.','.$question.','.$reponse.','.$reponse1.,' ' )";
alors que ça marcherait mieux comme ça :
$MaReq= "insert into Question values(' ',' ' ,'".$num_ques."','".$question."','".$reponse."','".$reponse1."',' ' )";
et pour tester, fais un echo de ta requete avant de l'executer, et regarde si elle est bien formaté.
j'ai recommancé tout mon code et se probleme est apparu :
Cannot add or update a child row: a foreign key constraint fails (`faq_dsic`.`question`, CONSTRAINT `question_ibfk_1` FOREIGN KEY (`id_application`) REFERENCES `application` (`id`))
Voila a nouveau mes tables :
-- phpMyAdmin SQL Dump
-- version 3.1.3
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Jeu 28 Mai 2009 à 11:05
-- Version du serveur: 5.1.32
-- Version de PHP: 5.2.9-1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de données: `faq_dsic`
--
-- --------------------------------------------------------
--
-- Structure de la table `application`
--
CREATE TABLE IF NOT EXISTS `application` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nom_application` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `nom_application` (`nom_application`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `application`
--
INSERT INTO `application` (`id`, `nom_application`) VALUES
(1, 'windows vista');
-- --------------------------------------------------------
--
-- Structure de la table `question`
--
CREATE TABLE IF NOT EXISTS `question` (
`id_question` int(15) NOT NULL AUTO_INCREMENT,
`num_question` int(12) NOT NULL,
`id_application` int(16) NOT NULL,
`nom_question` varchar(255) NOT NULL,
`reponse` varchar(255) NOT NULL,
`photo` blob NOT NULL,
`num_id_source` int(11) NOT NULL,
PRIMARY KEY (`id_question`),
KEY `id_application` (`id_application`),
KEY `num_id_source` (`num_id_source`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `question`
--
-- --------------------------------------------------------
--
-- Structure de la table `source`
--
CREATE TABLE IF NOT EXISTS `source` (
`id_source` int(11) NOT NULL AUTO_INCREMENT,
`nom_source` varchar(255) NOT NULL,
PRIMARY KEY (`id_source`),
UNIQUE KEY `nom_source` (`nom_source`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `source`
--
INSERT INTO `source` (`id_source`, `nom_source`) VALUES
(1, 'dsci');
--
-- Contraintes pour les tables exportées
--
--
-- Contraintes pour la table `question`
--
ALTER TABLE `question`
ADD CONSTRAINT `question_ibfk_1` FOREIGN KEY (`id_application`) REFERENCES `application` (`id`),
ADD CONSTRAINT `question_ibfk_2` FOREIGN KEY (`num_id_source`) REFERENCES `source` (`id_source`);
et mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="cine.css" rel="stylesheet" type="text/css" />
<title>ajouter la question</title>
</head>
<?php
//$serveur='localhost';
//$utilisateur='root';
//$mdp='';
//$bdd='faq_dsic';
$application = $_POST['application'];
$numero=$_POST['num_question'];
$question=$_POST['question'];
$reponse=$_POST['reponse'];
$source=$_POST['source'];
mysql_connect("localhost", "root", "");
mysql_select_db("faq_dsic");
if (mysqli_connect_errno())
{echo "probleme de connexion à la base de données";
exit;}
$application= mysql_query("INSERT INTO application(id,nom_application) VALUES ('','$application')");
$source = mysql_query("INSERT INTO source (id_source,nom_source) VALUES('','$source')")or die(mysql_error());
$question = mysql_query("INSERT INTO question VALUES ('','$numero','','$question','reponse','','') ")or die(mysql_error());
mysql_close();
?>
Votre question vient d'etre enregistrer avec succes
<br/>
<a href = " index.php">Menue</a>
encore merci de m'aider
Cannot add or update a child row: a foreign key constraint fails (`faq_dsic`.`question`, CONSTRAINT `question_ibfk_1` FOREIGN KEY (`id_application`) REFERENCES `application` (`id`))
Voila a nouveau mes tables :
-- phpMyAdmin SQL Dump
-- version 3.1.3
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Jeu 28 Mai 2009 à 11:05
-- Version du serveur: 5.1.32
-- Version de PHP: 5.2.9-1
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de données: `faq_dsic`
--
-- --------------------------------------------------------
--
-- Structure de la table `application`
--
CREATE TABLE IF NOT EXISTS `application` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nom_application` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `nom_application` (`nom_application`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `application`
--
INSERT INTO `application` (`id`, `nom_application`) VALUES
(1, 'windows vista');
-- --------------------------------------------------------
--
-- Structure de la table `question`
--
CREATE TABLE IF NOT EXISTS `question` (
`id_question` int(15) NOT NULL AUTO_INCREMENT,
`num_question` int(12) NOT NULL,
`id_application` int(16) NOT NULL,
`nom_question` varchar(255) NOT NULL,
`reponse` varchar(255) NOT NULL,
`photo` blob NOT NULL,
`num_id_source` int(11) NOT NULL,
PRIMARY KEY (`id_question`),
KEY `id_application` (`id_application`),
KEY `num_id_source` (`num_id_source`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `question`
--
-- --------------------------------------------------------
--
-- Structure de la table `source`
--
CREATE TABLE IF NOT EXISTS `source` (
`id_source` int(11) NOT NULL AUTO_INCREMENT,
`nom_source` varchar(255) NOT NULL,
PRIMARY KEY (`id_source`),
UNIQUE KEY `nom_source` (`nom_source`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Contenu de la table `source`
--
INSERT INTO `source` (`id_source`, `nom_source`) VALUES
(1, 'dsci');
--
-- Contraintes pour les tables exportées
--
--
-- Contraintes pour la table `question`
--
ALTER TABLE `question`
ADD CONSTRAINT `question_ibfk_1` FOREIGN KEY (`id_application`) REFERENCES `application` (`id`),
ADD CONSTRAINT `question_ibfk_2` FOREIGN KEY (`num_id_source`) REFERENCES `source` (`id_source`);
et mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="cine.css" rel="stylesheet" type="text/css" />
<title>ajouter la question</title>
</head>
<?php
//$serveur='localhost';
//$utilisateur='root';
//$mdp='';
//$bdd='faq_dsic';
$application = $_POST['application'];
$numero=$_POST['num_question'];
$question=$_POST['question'];
$reponse=$_POST['reponse'];
$source=$_POST['source'];
mysql_connect("localhost", "root", "");
mysql_select_db("faq_dsic");
if (mysqli_connect_errno())
{echo "probleme de connexion à la base de données";
exit;}
$application= mysql_query("INSERT INTO application(id,nom_application) VALUES ('','$application')");
$source = mysql_query("INSERT INTO source (id_source,nom_source) VALUES('','$source')")or die(mysql_error());
$question = mysql_query("INSERT INTO question VALUES ('','$numero','','$question','reponse','','') ")or die(mysql_error());
mysql_close();
?>
Votre question vient d'etre enregistrer avec succes
<br/>
<a href = " index.php">Menue</a>
encore merci de m'aider
en faite mon probleme c'est que des que je m'est les champs id_question et num_id_source de ma table question en FOREIGN KEY (INNODB) alors ma requette sql insert into Question (Num_Question, Question, Reponse, Picture) values('.$num_ques.','.$question.','.$reponse.','.$reponse1.' ) ne marche pas c'est ça mon probleme
bonjour, voila je crois avoir trouvé le problème mais je ne s'est pas comment le résoudre en faite le problème vient de la liste déroulante car je veux rajouter l'id de l'application choisi dans la liste mais je ne s'est pas comment faire. je crois qu'il faut que je mette une requete sql sur le value mais comment?
Tu es rigolo ... Tu nous demandes de l'aide mais tu nous donnes même pas le message d'erreur exact ...
Si tu as vraiment un problème de clé étrangère, c'est à mon avis que tu références vers un élément inexistant. Mais bon, les messages d'erreur sont fait pour ça !
Et sincèrement, ca fait peur du code comme ça dans une entreprise ...
Si tu as vraiment un problème de clé étrangère, c'est à mon avis que tu références vers un élément inexistant. Mais bon, les messages d'erreur sont fait pour ça !
Et sincèrement, ca fait peur du code comme ça dans une entreprise ...
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumMysql probleme avec insert into
- solutionsPhp mysql probleme insert into
- solutionsPetite probleme requete sql insert into
- ForumProbleme requette insert into sql query
- ForumJava probleme de syntaxe insert into oracle
- ForumRequete insert into en vb probleme
- solutionsProbleme date insert into mysql avec c
- ForumProbleme requete insert into pour appli vb
- ForumProbleme avec requete insert into en php
- ForumMysql insert into probleme guillemet
- Voir plus