CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probléme php : SELECT +$variable

Staracademy
Staracademy
Niveau 6
06 novembre 2004 à 21:52:30

Bonjour à tous

J´ai créer un script qui affiche le résultat d´un champ de la base de donnée suivant une variable qui s´appelle $matiere

Voici ce script :(la portion qui deconne)

$soo = " SELECT $matiere FROM membre WHERE pseudo=´$pseudo_membre´";
$roto = mysql_query($soo) or die(´Erreur SQL ! <br>´.$so.´<br>´.mysql_error());
$dat = mysql_fetch_array($roto);
$stock=$dat[´$matiere´];

Le probléme ces que lorsque je fais echo $stock ; rien ne s´affiche

La variable $matiere et declarer ces sure , je sais d´ou veins le probléme ces que dans la fonction select $matiere=0 il faudrai une sorte de echo $matiere ; mais ces impossible de faire ca dans la fonction SELECT, pouvez vous me dire comment faire ?

Merci d´avance

MathieuN7
MathieuN7
Niveau 10
06 novembre 2004 à 22:06:29

en principe c´est correct, vu que tu mets bien des double quotes!

Dans matière, il y a quoi? un chiffre? une chaine de caractères?

bou-bou18
bou-bou18
Niveau 10
06 novembre 2004 à 22:41:18

Pas bien compris mais fais toujours un isset p-e pour être sûr qu´elle existe

( regarde aussi les paramètres de connexion, on sait jamais xD)

stoff
stoff
Niveau 10
06 novembre 2004 à 23:13:33

fait un echo de te requete, et teste la dans phpmyadmin :)

electron_libre
electron_libre
Niveau 10
07 novembre 2004 à 01:04:04

$soo = " SELECT $matiere FROM membre WHERE pseudo=´$pseudo_membre´";
$roto = mysql_query($soo) or die(´Erreur SQL ! < br>´.$so.´<br>´.mysql_error());
$dat = mysql_fetch_array($roto);
$stock=$dat[´$matiere´];

----
bizarre comme facon de faire,
deja à la 2e ligne, tu as oublié un " o" à $soo dans la fonction die(),
ensuite t sur que tu veut mettre une variable dans ta requete la ou tu selectionnes les champs à afficher ? c etrange je trouve, mais bon imaginons que $matiere corresponde bien à un champ de ta table ( si $matiere correspond à un champ qui n´existe pas c normal que ca affiche rien, et avec l´erreur mentionné en haut, tu verais meme pas que ca viens de ta requete sql) quand tu fais $stock=$dat[´$matiere´]; il faut que tu remplaces $matiere par le libellé du champs telqu´il se trouve dans ta table, bon je voit bien que c une facon de faire qui est sencé fonctionner pour plusieur cas, donc tu ne peut pas mettre en dur le nom du champ, sinon tu le ferai aussi dans ta requete, donc je te propose de passer par les indices, ici tu selectionnes 1 objet par ta requete, donc demande d´afficher l´element qui se trouve à la position 0 dans ton tableau ( pour les tableau on commence à compter à 0), je te propose donc de faire comme ca :

$soo = " SELECT $matiere FROM membre WHERE pseudo=´$pseudo_membre´";
$roto = mysql_query($soo) or die(´Erreur SQL ! < br>´.$soo.´<br>´.mysql_error());
$dat = mysql_fetch_array($roto);
$stock=$dat[0];

Staracademy
Staracademy
Niveau 6
07 novembre 2004 à 10:55:13

MathieuN7 => La variable $matiere contient une chaine de caractères

electron_libre => La variable $matiere design bien un champ qui est présent dans ma table membre . Sinon pour ta méthode je ne comprend pas trop mais je vais tester .

Merci à tous

Staracademy
Staracademy
Niveau 6
07 novembre 2004 à 11:04:07

Merci electron_libre ta méthode fonctionne .

electron_libre
electron_libre
Niveau 10
07 novembre 2004 à 18:20:36

le contraire m´aurait etonné :p

sinon je suis curieux, dans quelle situation tu passes une variable qui correspond au nom d´un champ de ta table ?

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment