Problème d'insertion de données ds une base
patingfree
-
yoyolut Messages postés 145 Statut Membre -
yoyolut Messages postés 145 Statut Membre -
Bonjour à tous,
pour l'apprentissage de php j'avais installé easyphp 5.3.2i pour interfaçer une base de données mysql(base)renseignée à l'aide d'un formulaire php.Les insertions,les suppressions et les MAJ se faisaient sans problème.Après quoi,J'ai donc décidé de désinstaller easyphp et d'installer séparement apache 2.2.15,php 5.3.2 sur un poste et mysql 5.1.45 sur un autre et d'acceder à ma base depuis un troisième ordi.l'installation a été un succès et j'arrive à interfaçer la base ,y faire des maj et des modifications [b]mais pas d'insertion[/b].Suis je confronté à une erreur de configuration?
J'avoue que j'ignore quelle est la nature du problème.Please help me!!!!!!!!!!!!!
je vous fais voir le code du formulaire et d'insertion dans la base modifié juste au niveau de la [b]connexion à la base [/b]qui marchait parfaitement sous easyphp.
//code du formulaire
<html>
<HEAD>
<TITLE>Formulaire Etudiant</TITLE>
</HEAD>
<body>
<P ALIGN="CENTER"><FONT FACE="Arial" font color= "#0000ff" SIZE=5>
<B>Veuillez saisir les coordonnées de l'etudiant</B>
</FONT></P>
<form name = "insertion" method="POST" action="affich_dans_tabl.php">
<table border="0" align="center" cellspacing="2" cellpadding="2" >
<tr align="center">
<td> <B><font color= "#ffd700">Nom </font></B> </td>
<td><input type="text" name="nom" size="50"></td>
</tr>
<tr align="center">
<td> <B><font color= "#ffd700">Prénom </font></B> </td>
<td><input type="text" name="prenom" size="50"></td>
</tr>
<tr align="center">
<td> <B><font color= "#ffd700">Classe </font></B> </td>
<td><input type="text" name="classe" size="75"></td>
</tr>
<tr align="center">
<td> <B><font color= "#ffd700">Age </font></B> </td>
<td><input type="text" name="age" size="2"></td>
</tr>
<tr align="center">
<td colspan ="2"><input type="submit" value="Insérer"></td>
</tr>
</table>
</form>
</body>
</html>
// code d'insertion et d'affichage
<HTML>
<HEAD>
<TITLE>Insertion de données et Affichage du contenu de la base</TITLE>
</HEAD>
<BODY>
<P ALIGN="CENTER"><FONT FACE="Arial" SIZE=5>
<B>Liste des etudiants </B>
</FONT></P>
<?php
//on se connecte à MySQL
$connect= mysql_connect('192.168.1.102', 'patrick', 'asunta');
// on sélectionne la base
mysql_select_db('base',$connect);
//on recupère les valeurs des champs
//nom
$nom1= $_POST['nom'];
//prenom
$prenom1=$_POST['prenom'];
//classe
$classe1=$_POST['classe'];
//age
$age1=$_POST['age'];
if (($nom1!="")&&($prenom1!="")&&($classe1!="")&&($age1!=""))
{
// on crée la requête SQL
$sql1= "INSERT INTO etudiant(Matricule,Nom,Prenoms,Classe,Age) VALUES ('','$nom1','$prenom1','$classe1','$age1')";
// on exécute la requête
$req1 = mysql_query($sql1) ;
if ($sql1)
{
echo("<div align=\"center\">L'insertion à été correctement effectuée<br><br>") ;
}
else
{
echo("<div align=\"center\">L'insertion a échouée<br><br>") ;
}
}
//Affichage des données
// on crée la requête SQL
$sql2 ='SELECT * FROM etudiant ORDER BY Nom';
// on execute la requête
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$total = mysql_num_rows($req2);
if($total) {
// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres prénom et surnom dans 4 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Prénoms</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Classe</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Age</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
while($data = mysql_fetch_array($req2)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$data["Nom"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data["Prenoms"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data["Classe"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data["Age"].'</td>';
echo '<td bgcolor="#CCCCCC"><A HREF=affich_enrega_modif.php?Matricule='.$data["Matricule"].'>modifier</a></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on ferme la connexion à mysql
mysql_close($connect);
?>
</FONT>
</BODY>
</HTML>
pour l'apprentissage de php j'avais installé easyphp 5.3.2i pour interfaçer une base de données mysql(base)renseignée à l'aide d'un formulaire php.Les insertions,les suppressions et les MAJ se faisaient sans problème.Après quoi,J'ai donc décidé de désinstaller easyphp et d'installer séparement apache 2.2.15,php 5.3.2 sur un poste et mysql 5.1.45 sur un autre et d'acceder à ma base depuis un troisième ordi.l'installation a été un succès et j'arrive à interfaçer la base ,y faire des maj et des modifications [b]mais pas d'insertion[/b].Suis je confronté à une erreur de configuration?
J'avoue que j'ignore quelle est la nature du problème.Please help me!!!!!!!!!!!!!
je vous fais voir le code du formulaire et d'insertion dans la base modifié juste au niveau de la [b]connexion à la base [/b]qui marchait parfaitement sous easyphp.
//code du formulaire
<html>
<HEAD>
<TITLE>Formulaire Etudiant</TITLE>
</HEAD>
<body>
<P ALIGN="CENTER"><FONT FACE="Arial" font color= "#0000ff" SIZE=5>
<B>Veuillez saisir les coordonnées de l'etudiant</B>
</FONT></P>
<form name = "insertion" method="POST" action="affich_dans_tabl.php">
<table border="0" align="center" cellspacing="2" cellpadding="2" >
<tr align="center">
<td> <B><font color= "#ffd700">Nom </font></B> </td>
<td><input type="text" name="nom" size="50"></td>
</tr>
<tr align="center">
<td> <B><font color= "#ffd700">Prénom </font></B> </td>
<td><input type="text" name="prenom" size="50"></td>
</tr>
<tr align="center">
<td> <B><font color= "#ffd700">Classe </font></B> </td>
<td><input type="text" name="classe" size="75"></td>
</tr>
<tr align="center">
<td> <B><font color= "#ffd700">Age </font></B> </td>
<td><input type="text" name="age" size="2"></td>
</tr>
<tr align="center">
<td colspan ="2"><input type="submit" value="Insérer"></td>
</tr>
</table>
</form>
</body>
</html>
// code d'insertion et d'affichage
<HTML>
<HEAD>
<TITLE>Insertion de données et Affichage du contenu de la base</TITLE>
</HEAD>
<BODY>
<P ALIGN="CENTER"><FONT FACE="Arial" SIZE=5>
<B>Liste des etudiants </B>
</FONT></P>
<?php
//on se connecte à MySQL
$connect= mysql_connect('192.168.1.102', 'patrick', 'asunta');
// on sélectionne la base
mysql_select_db('base',$connect);
//on recupère les valeurs des champs
//nom
$nom1= $_POST['nom'];
//prenom
$prenom1=$_POST['prenom'];
//classe
$classe1=$_POST['classe'];
//age
$age1=$_POST['age'];
if (($nom1!="")&&($prenom1!="")&&($classe1!="")&&($age1!=""))
{
// on crée la requête SQL
$sql1= "INSERT INTO etudiant(Matricule,Nom,Prenoms,Classe,Age) VALUES ('','$nom1','$prenom1','$classe1','$age1')";
// on exécute la requête
$req1 = mysql_query($sql1) ;
if ($sql1)
{
echo("<div align=\"center\">L'insertion à été correctement effectuée<br><br>") ;
}
else
{
echo("<div align=\"center\">L'insertion a échouée<br><br>") ;
}
}
//Affichage des données
// on crée la requête SQL
$sql2 ='SELECT * FROM etudiant ORDER BY Nom';
// on execute la requête
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$total = mysql_num_rows($req2);
if($total) {
// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres prénom et surnom dans 4 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Prénoms</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Classe</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Age</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
while($data = mysql_fetch_array($req2)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$data["Nom"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data["Prenoms"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data["Classe"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$data["Age"].'</td>';
echo '<td bgcolor="#CCCCCC"><A HREF=affich_enrega_modif.php?Matricule='.$data["Matricule"].'>modifier</a></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on ferme la connexion à mysql
mysql_close($connect);
?>
</FONT>
</BODY>
</HTML>
A voir également:
- Problème d'insertion de données ds une base
- Fuite données maif - Guide
- Base de registre - Guide
- Touche insertion clavier - Guide
- Insertion filigrane word - Guide
- Insertion sommaire word - Guide
1 réponse
Bonjour,
pourrais tu utiliser la commande mysql_error() pour voir si il te retourne une erreur. Tu l'utilise un peu plus loins dans ton code avec die()...
Essaye aussi d'afficher par un echo ta variable $sql1 aprés l'avoir renseigner, pour voir si il n'y a pas un soucis dans ta requette.
Bon courage,
Yo
pourrais tu utiliser la commande mysql_error() pour voir si il te retourne une erreur. Tu l'utilise un peu plus loins dans ton code avec die()...
Essaye aussi d'afficher par un echo ta variable $sql1 aprés l'avoir renseigner, pour voir si il n'y a pas un soucis dans ta requette.
Bon courage,
Yo