Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 02/05/2007, 17h16   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 116
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 116
Points : 31
Points : 31
Par défaut [SQL] Erreur SQL dans php

Salut à tous,

j'ai une petite question de newbie (et oui j'en suis un )

Code :
1
2
3
4
5
6
7
8
9
10
$selectville="Select `id_ville` from `ville` where `nom_ville`=$Ville;";
echo $Ville;
$villefind1=mysql_query($selectville,$connexion);
 
$villefind2=mysql_fetch_array($villefind1);
 
echo $villefind2[0];
 
$updatexploit="UPDATE `exploitation` SET `ugb`=$UGB, `sau`=$SAU, `uth`=$UTH, `sfp`=$SFP, `nom_exploit`=$Nom,`adresse_exploit`=$Adresse,`tel_exploit`=$TEL,`fax_exploit`=$FAX,`email_exploit`=$MAIL, `id_ville`=$villefind2[id_ville]  
Where `id_exploit` = $Dossier;";
l'écho Ville apparait sur la feuille html, mais pas echo $villefind2[0]. Normal puisque cette ligne bug, il doit donc y avoir un problème avec la fonction mysql_fetch_array, mais je ne vois pas lequel

N.B : Toutes les autres valeurs sont entrées, je me demande donc s'il n'y a pas

Merci d'avance
joker vb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 17h36   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Tu es sûr que ta requête renvoie quelque chose au moins ?

Pour voir si il y a une erreur il faut rajouter "or die(mysql_error())" après les mysql_query.

Dans la requête il faut entourer les chaînes par ces quotes (c'est pour le nom de la ville ça). Et le point-virgule en fin de requête est inutile.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2007, 22h38   #3
Membre chevronné
 
Avatar de LeXo
 
Inscription : janvier 2004
Messages : 1 147
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2004
Messages : 1 147
Points : 782
Points : 782
oula ya pas mal de soucis

Code :
1
2
3
4
5
6
7
8
$sql="Select ville.id_ville from ville where nom_ville=\"".$Ville."\"";
//Plus intelligent de faire un echo sur ta requete sql
echo $sql;
$req=mysq_query($req) or die ("Erreur SQL ! :". $sql."<BR>". mysql_error());
//le While avec le fetch, tu écriras
while($row=mysql_fetch_array($req)){
echo $row[0];
}
ça devrai marcher
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2007, 11h37   #4
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 116
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 116
Points : 31
Points : 31
Salut et merci pour vos réponses.
Bon je n'ai aps tout respecté, mais ça marche! J'espère que ce n'est pas trop houyahouya
Code :
1
2
3
4
5
6
7
8
9
//Récupérer Id_ville
$selectville=" SELECT `id_ville` FROM `ville`  WHERE nom_ville='".$Ville."'";
echo $Ville;
$villefind1=mysql_query($selectville,$connexion);
echo $villefind1;
$villefind2=mysql_fetch_array($villefind1);
echo $villefind2[0]."<br>";
$villeok=$villefind2[0];
//récupération de la ville = OK
et le mettre dans la table
Code :
1
2
$req="UPDATE `exploitation` SET  `id_ville`=$villeok,  WHERE `exploitation`.`id_exploit` =33456720 LIMIT 1";
mysql_query($req,$connexion) ;
Merci
joker vb 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 02h33.


 
 
 
 
Partenaires

Hébergement Web