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 04/07/2006, 11h53   #1
Nouveau Membre du Club
 
Avatar de ghita269
 
Inscription : octobre 2005
Messages : 155
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 155
Points : 31
Points : 31
Envoyer un message via MSN à ghita269
Par défaut j'arrive pas a selectionner les champ d'un tableau a mysql

s'ilvous plait aidez moi
//dans la premiere page selection des enregistrement à afficher

$sqllist="select * from identite where id_p=$id order by cnn";
$list = mysql_query ($sqllist,$sfxConn);

$lignelist = mysql_fetch_row ($list);

//apres

<a href=\"_view.php?cnn=".$lignelist['0']."\">view</a>


//dans l'autre page j'appel ma variable GET

$db = mysql_connect("localhost", "root", "");
mysql_select_db("tutoriel",$db);
$cnn = $_GET['cnn'];
$result = mysql_query("SELECT * FROM identite WHERE cnn=$cnn ",$db);
$myrow = mysql_fetch_array($result);
echo "First Name: " .$myrow['nom'];
mon probleme c'est dans la variable cnn si cnn et uniquement avec les chiffres ça passe et il m'affiche le nom
"echo "First Name: " .$myrow['nom'];"
si cnn est avec chiffres et lettres il me lance l'erreur
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

ghita269 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h09   #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


Il faut entourer les chaînes par des quotes :

Code :
$result = mysql_query("SELECT * FROM identite WHERE cnn='" . $cnn . "'",$db);
__________________
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 04/07/2006, 12h13   #3
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
Il me semble que ton champ cnn dans ta table est de type int.
Donc si tu as ajoutes des lettres via $_GET['cnn'], tu auras forcément des erreurs car ton champ cnn dans ta table n'est pas adapté pour accepter
caractères

Donc
Solution1:

Tu gardes le champ de type int et là tu devras faire un test supplémentaire pour vérfier si $_GET['cnn'] et bien un chiffre

Code :
1
2
3
4
5
6
 
IF(isset($_GET['cnn']) && is_numeric($_GET['cnn']))
{
$cnn = $_GET['cnn'];
$result = mysql_query("SELECT * FROM identite WHERE cnn=$cnn ",$db);
}
Solution 2:
Tu modifies ton champ cnn pour qu'il accepte les caractères (type varchar par exemple)

Dans ce cas le code est le suivant.

Code :
1
2
3
4
5
6
 
IF(isset($_GET['cnn']))
{
$cnn = $_GET['cnn'];
$result = mysql_query("SELECT * FROM identite WHERE cnn='". $cnn ." ' ",$db);
}
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h38   #4
Nouveau Membre du Club
 
Avatar de ghita269
 
Inscription : octobre 2005
Messages : 155
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 155
Points : 31
Points : 31
Envoyer un message via MSN à ghita269
Par défaut Merci Beaucoup

SUPER

ça a marché avec la solution 2

ghita269 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 13h44.


 
 
 
 
Partenaires

Hébergement Web