Erreur SQL a l'insersion
glodybiss
Messages postés
509
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
Voici l'erreur qui apparait lorsque j'essaie d'inserer les infos dans une table de ma base des données.
Voici mon code php
Voici l'erreur qui apparait lorsque j'essaie d'inserer les infos dans une table de ma base des données.
Erreur SQL !INSERT INTO 'site' ('id' ,'idsiteinterne' ,'idsiteprovider' ,'idsurvey' ,'dateactivation' ,'dateinstallation' ,'adressesite' ,'idclient' ,'adresseIP' ,'adresseIPmanage' ,'emailsite' ,'idprovider' ,'idetatsite' ,'idpays' ,'matriculeSite' ,'telephone' ,'observation' ,'datecreation') VALUES(NULL, "CYB001", "CYB001", "CYB001", "2", "2", "Kinshasa, Mont-ngafula", "CYB001", "192.168..52", "192.168.0.5", "glodybiss@gmail.com", "CYB001", "CYB001", "Activé", "CYB001", "0998226612", "message", "2011-11-21 09:41:08")
Cannot add or update a child row: a foreign key constraint fails ('cybernet'.'site', CONSTRAINT 'fk_site_provider' FOREIGN KEY ('idprovider') REFERENCES 'provider' ('id') ON DELETE NO ACTION ON UPDATE NO ACTION)
Voici mon code php
<?php
$serveur = getenv("SERVER_NAME");
$chez_moi=($serveur=="localhost");
if($chez_moi)include_once 'cfg.php';
else include_once 'cfg2.php';
if (isset($_POST['Enregistrer']) && $_POST['Enregistrer'] == 'Enregistrer' ) {
if ((isset($_POST['dateinstallation']) && !empty($_POST['dateinstallation'])) && (isset($_POST['dateactivation']) && !empty($_POST['dateactivation']))
&& (isset($_POST['adressesite']) && !empty($_POST['adressesite'])) && (isset($_POST['idclient']) && !empty($_POST['idclient']))
&& (isset($_POST['adresseIP']) && !empty($_POST['adresseIP'])) && (isset($_POST['adresseIPmanage']) && !empty($_POST['adresseIPmanage']))
&& (isset($_POST['emailsite']) && !empty($_POST['emailsite'])) && (isset($_POST['idprovider']) && !empty($_POST['idprovider']))
&& (isset($_POST['matriculeSite']) && !empty($_POST['matriculeSite']))&& (isset($_POST['idetatsite']) && !empty($_POST['idetatsite']))
&& (isset($_POST['observation']) && !empty($_POST['observation'])) )
{
if ($_POST['idsiteinterne'] == $_POST['idsiteprovider']) {
$erreur = 'Les ID provider et interne sont indentique';
}
if ($_POST['idsurvey'] != $_POST['idsiteinterne']) {
$erreur = 'Les ID survey et interne sont differents';
}
else {
$base = mysql_connect (DB_HOST, USER_NAME, PASSE_WORD);
mysql_select_db (DATA_BASE, $base);
$sql = 'SELECT count(*) as nb FROM site WHERE idclient ="'.mysql_escape_string($_POST['idclient']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data['nb'] == 0) {
$sql = 'INSERT INTO 'site' ('id' ,'idsiteinterne' ,'idsiteprovider' ,'idsurvey' ,'dateactivation' ,'dateinstallation' ,'adressesite' ,'idclient' ,'adresseIP' ,'adresseIPmanage' ,'emailsite' ,'idprovider' ,'idetatsite' ,'idpays' ,'matriculeSite' ,'telephone' ,'observation' ,'datecreation') VALUES(NULL, "'.mysql_escape_string($_POST['idsiteinterne']).'", "'.mysql_escape_string($_POST['idsiteprovider']).'", "'.mysql_escape_string($_POST['idsurvey']).'",
"'.mysql_escape_string($_POST['dateinstallation']).'", "'.mysql_escape_string($_POST['dateactivation']).'",
"'.mysql_escape_string($_POST['adressesite']).'", "'.mysql_escape_string($_POST['idclient']).'",
"'.mysql_escape_string($_POST['adresseIP']).'", "'.mysql_escape_string($_POST['adresseIPmanage']).'",
"'.mysql_escape_string($_POST['emailsite']).'", "'.mysql_escape_string($_POST['idprovider']).'",
"'.mysql_escape_string($_POST['matriculeSite']).'", "'.mysql_escape_string($_POST['idetatsite']).'",
"'.mysql_escape_string($_POST['matriculeSite']).'", "'.mysql_escape_string($_POST['telephone']).'",
"'.mysql_escape_string($_POST['observation']).'", "'.date('Y-m-d h:i:s').'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['nom'] = $_POST['nom'];
header('Location: '.PAGE_PRIVATE.'');
exit();
}
else {
$erreur = 'Cet utilisateur existe deja dans le systeme';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<!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>
<title>Nouveau site| Support AppManga Cybernet </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="news_client_site">
<form action="" method="post" name="form1" id="form1">
<form action="includes/chek_achat.php" method='post' onSubmit="return(VerifForm(this))">
<table width="350" border="0" class="left">
<?php
if (isset($erreur)) {
echo '<div id="info" class="error">'.$erreur.'</div><!--error-->';
} ?>
<h3>Nouveau site</h3>
<tr>
<td class="td">ID Site interne </td>
<td> <input type="text" name="idsiteinterne" class="input_ajout_agent" value="<?php if (isset($_POST['idsiteinterne'])) echo htmlentities(trim($_POST['idsiteinterne'])); ?>" ></td>
</tr>
<tr>
<td>ID Site Provider</td>
<td >
<input type="text" name="idsiteprovider" class="input_ajout_agent" value="<?php if (isset($_POST['idsiteprovider'])) echo htmlentities(trim($_POST['idsiteprovider'])); ?>" ></td>
</tr>
<tr>
<td>ID Site survey</td>
<td >
<input type="text" name="idsurvey" class="input_ajout_agent" value="<?php if (isset($_POST['idsurvey'])) echo htmlentities(trim($_POST['idsurvey'])); ?>" ></td>
</tr>
<td>Date activation</td>
<td >
<select class="select" name="dateactivation" value="<?php if (isset($_POST['dateactivation'])) echo htmlentities(trim($_POST['dateactivation'])); ?>" ><option>date</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select>
<option>Mois</option>
<option>Janvier</option>
<option>Février</option>
<option>Mars</option>
<option>Avril</option>
<option>Mai</option>
<option>Juin</option>
<option>Juillet</option>
<option>Août</option>
<option>Septembre</option>
<option>Octobre </option>
<option>Novembre</option>
<option>Decembre</option>
</select>
<select>
<option>Année</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
</select> </td>
</tr>
<tr>
<td>Date installation</td>
<td >
<select class="select" name="dateinstallation" value="<?php if (isset($_POST['dateinstallation'])) echo htmlentities(trim($_POST['dateinstallation'])); ?>" ><option>date</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select>
<option>Mois</option>
<option>Janvier</option>
<option>Février</option>
<option>Mars</option>
<option>Avril</option>
<option>Mai</option>
<option>Juin</option>
<option>Juillet</option>
<option>Août</option>
<option>Septembre</option>
<option>Octobre </option>
<option>Novembre</option>
<option>Decembre</option>
</select>
<select>
<option>Année</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
</select> </td>
</tr>
<tr>
<td>Adresse</td>
<td >
<input type="text" name="adressesite" class="input_ajout_agent" value="<?php if (isset($_POST['adressesite'])) echo htmlentities(trim($_POST['adressesite'])); ?>" ></td>
</tr>
<tr>
<td>ID Client</td>
<td >
<input type="text" name="idclient" class="input_ajout_agent" value="<?php if (isset($_POST['idclient'])) echo htmlentities(trim($_POST['idclient'])); ?>" ></td>
</tr>
<tr>
<td>IP adresse</td>
<td >
<input type="text" name="adresseIP" class="input_ajout_agent" value="<?php if (isset($_POST['adresseIP'])) echo htmlentities(trim($_POST['adresseIP'])); ?>" ></td>
</tr>
<tr>
<td>IP adresse manager</td>
<td >
<input type="text" name="adresseIPmanage" class="input_ajout_agent" value="<?php if (isset($_POST['adresseIPmanage'])) echo htmlentities(trim($_POST['adresseIPmanage'])); ?>" ></td>
</tr>
<tr>
<td>E-mail</td>
<td> <input type="text" name="emailsite" class="input_ajout_agent" value="<?php if (isset($_POST['emailsite'])) echo htmlentities(trim($_POST['emailsite'])); ?>"></td>
</tr>
<tr>
<td>ID Provider</td>
<td> <input type="text" name="idprovider" class="input_ajout_agent" value="<?php if (isset($_POST['idprovider'])) echo htmlentities(trim($_POST['idprovider'])); ?>"></td>
</tr>
</table>
<table width="180" border="0" class="left">
<tr>
<td>Etat Site</td>
<td >
<select class="select2" name="idetatsite" value="<?php if (isset($_POST['idetatsite'])) echo htmlentities(trim($_POST['idetatsite'])); ?>">
<option>Désactivé</option>
<option>Activé</option>
<option>Commissioné</option>
<option>Décommissioné</option>
</select>
</tr>
<tr>
<td>Pays</td>
<td >
<select class="select2" name="idpays" value="<?php if (isset($_POST['idpays'])) echo htmlentities(trim($_POST['idpays'])); ?>" >
<option>République Démocratique du Congo</option>
<option>Congo Brazzaville</option>
<option>Angola</option>
<option>Rwanda</option>
</select>
</tr>
<tr>
<td>Matricule</td>
<td> <input type="text" class="input_ajout_agent" name="matriculeSite" value="<?php if (isset($_POST['matriculeSite'])) echo htmlentities(trim($_POST['matriculeSite'])); ?>"></td>
</tr>
<tr>
<td>Téléphone</td>
<td> <input type="text" class="input_ajout_agent" name="telephone" value="<?php if (isset($_POST['telephone'])) echo htmlentities(trim($_POST['telephone'])); ?>"></td>
</tr>
<tr>
<td>Observation</td>
<td> <textarea name="observation" rows="9" cols="25" value="<?php if (isset($_POST['observation'])) echo htmlentities(trim($_POST['observation'])); ?>" ></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="Enregistrer" class="submi" value="Enregistrer" /></td>
</tr>
</table>
</form></div>
</body>
</html>
A voir également:
- Erreur SQL a l'insersion
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
1 réponse
Bonjour,
Le problème, c'est que tu essaies de mettre une ligne avec idprovider="CYB001"
Or ce provider n'existe pas dans ta table "provider" (ou alors, son id n'est pas celui-ci).
Je te suggère de mettre une liste déroulante plutôt qu'un champ texte dans le cas où il y a une clé étrangère... Ça évitera ce genre d'erreur.
Xavier
Le problème, c'est que tu essaies de mettre une ligne avec idprovider="CYB001"
Or ce provider n'existe pas dans ta table "provider" (ou alors, son id n'est pas celui-ci).
Je te suggère de mettre une liste déroulante plutôt qu'un champ texte dans le cas où il y a une clé étrangère... Ça évitera ce genre d'erreur.
Xavier
ALTER TABLE site DROP FOREIGN KEY fk_site_provider