Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2008, 16h59   #1
Membre habitué
 
Avatar de jlb59
 
Homme J-Luc
Retraité
Inscription : août 2004
Messages : 718
Détails du profil
Informations personnelles :
Nom : Homme J-Luc
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Retraité
Secteur : Industrie

Informations forums :
Inscription : août 2004
Messages : 718
Points : 138
Points : 138
Par défaut Où est l'erreur MySQL ?

Bonjour à tous,

Dans un code Php/MySQL, je sélectionne des variables via un formulaire.

Apparemment, ça marche si aucune saisie n'a été détectée, mais j'ai toujours ça


J'ai bien regardé le code ligne/ligne mais je vois rien.
Je l'ai pourtant bien détaillées, à moins que je sois passé de la source d'erreur !...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
require_once('../config/config_inc.php');
echo '<fieldset>';
echo '<legend>Insérer un enregistrement dans la base de données [<strong>',$nombase,'</strong>]</legend>';
 
IF (
    (isset($_POST['url']) && !empty($_POST['url'])) && 
    (isset($_POST['titre']) && !empty($_POST['titre'])) && 
    (isset($_POST['motscles']) && !empty($_POST['motscles']))
   )
{
	$url     = $_POST["url"] ;
	$titre   = $_POST["titre"] ;
	$motscles = $_POST["motscles"] ;
 
	$sql = "INSERT INTO $nomtable (url,titre,motscles) VALUES ( '$url','$titre','$motscles')";
	$requete = mysql_query($sql, $lien) OR die('Erreur dans la requête : ' . mysql_error() . ""); 
 
		IF($requete)
		{
		echo 'Base : <strong>',$nombase,'</strong>';
		echo '<br />';
		echo ' Table : <strong>',$nomtable,'</strong>';
		echo '<br /><br />';
		echo 'L\'insertion a été correctement effectuée';
		}
}
else 
{
	echo '<br />';
	echo '<span style="color:red;font-weight:bold;">Veuillez remplir tous les champs SVP !</span>';
	echo '<br /><br />';
	echo '[ <a href="javascript:history.go(-1)">Retour page précédente</a> ]';
	echo '<br /><br />';
}
mysql_close(); 
	echo '</fieldset>';
	echo '<br /><br />';
	echo '[ <a href="javascript:history.go(-1)">Retour page précédente</a> ]';
	echo '<br /><br />';
	echo '<form method="post" action="../choix.html">';
	echo '<input type="submit" name="choix" value="Retour au choix" style="cursor:pointer">';
	echo '</form>';
?>
Pourriez-vous m'aider et me dire où j'ai fait cette erreur ?

Merci beaucoup.
__________________
Cordialement.
JLB59

Analyse de la mémoire
jlb59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2008, 17h13   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 409
Points : 6 409
Bonjour,

Pas sûr que le code que tu nous montres corresponde à ton erreur. En effet, les libellés des zones LEGEND n'ont pas l'air de correspondre...
Dans ton message d'erreur, on voit :
Citation:
Mise à jour de mots-clefs dans la table...
Alors que dans ton code, c'est plutôt :
Citation:
Insérer un enregistrement dans la base de données
Tu es sûr de regarder le bon fichier et la bonne ligne 44 ?
Au passage, c'est laquelle, la ligne 44 ?

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2008, 17h26   #3
Membre habitué
 
Avatar de jlb59
 
Homme J-Luc
Retraité
Inscription : août 2004
Messages : 718
Détails du profil
Informations personnelles :
Nom : Homme J-Luc
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Retraité
Secteur : Industrie

Informations forums :
Inscription : août 2004
Messages : 718
Points : 138
Points : 138
Bonjour CED,

Tu me signales 2 écrits différents, c'est ma faute, désolé.
C'est bien ce fichier qu'il faut lire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
//require_once('../config/config_inc.php');
$host = "localhost";	
$user = "root";	
$password = "";	
$nombase = "test_rech";
$nomtable = "test_rech";
echo '<fieldset>';
echo '<legend>Mise à jour de mots-clés de la table <strong>', $nomtable ,'</strong></legend>';
 
IF (
	(isset($_POST['url']) && !empty($_POST['url'])) && 
	(isset($_POST['motscles']) && !empty($_POST['motscles']))
   )
{
	$id = $_POST["id"] ;
	$motscles = $_POST["motscles"] ;
 
	$lien = mysql_connect($host, $user, $password) OR die ('Erreur de connexion. ' . mysql_error() . ""); 
	mysql_select_db($nombase,$lien) OR die ('Erreur de connexion à la base. ' . mysql_error() . ""); 
 
      $requete = mysql_query("SELECT * FROM $nomtable WHERE id=$id");
      $reponse = mysql_fetch_array($requete);
      $contenu_actuel = $reponse['motscles'];
      $nouveau_contenu = $contenu_actuel.$motscles;
		echo 'Base : <strong>', $nombase ,'</strong> <br /> Table : <strong>', $nomtable ,'</strong>';
		echo 'ID modifié : <strong>', $id ,'</strong> <br />';
		echo 'Titre : <strong>', $reponse ,'[titre]</strong> <br /><br />';
		echo 'Nouveaux mots clés enregistrés : <br /><strong>', $nouveau_contenu ,'</strong><br /><br />';
  mysql_query("UPDATE $nomtable SET motscles = '$nouveau_contenu' WHERE id=$id"); 
}
else 
{
echo '<span style="color:red;font-weight:bold;">Veuillez remplir tous les champs SVP !</span>';
}
mysql_close();
echo '</fieldset>';
echo '<br /><br />';
echo '[ <a href="javascript:history.go(-1)">Retour page précédente</a> ]';
echo '<br /><br />';
echo '<form method="post" action="../choix.html">';
echo '<input type="submit" name="choix" value="Retour au choix" style="cursor:pointer">';
echo '</form>';
?>
La ligne 44 qui génère une erreur "mysql_close();".

Encore désolé.
__________________
Cordialement.
JLB59

Analyse de la mémoire
jlb59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2008, 17h29   #4
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 409
Points : 6 409
Ben à la quatrième ligne de code :
Citation:
echo '<legend>Insérer un enregistrement dans la base de données [<strong>',$nombase,'</strong>]</legend>';
C'est laquelle, la ligne 44 ?

Autre indice qui montre que tu n'es pas forcément sur le bon fichier PHP : dans un cas tu fais un UPDATE, alors que ton code fait un INSERT...

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h19.


 
 
 
 
Partenaires

Hébergement Web