Avatar billede phrozia Juniormester
09. august 2006 - 19:01 Der er 7 kommentarer og
2 løsninger

php variable i SELECT string

Kan man på nogen måde bruge en php variabel som field navn i en select?

queryen ser sådan her ud nu, og den virker fint.

$result_atendees = mysql_query("SELECT * FROM $mySQL_tabl WHERE mc='2' AND character_class='Mage'");

Men feltet mc variere nemlig, men jeg kan ikke umiddelbart sætte en $var ind i stedet.

f.eks.:
$field ="mc";

$result_atendees = mysql_query("SELECT * FROM $mySQL_tabl WHERE $field='2' AND character_class='Mage'");

Det giver en mysql fejl. Jeg har forsøg en masse ting, men har ikke fundet noget som virker.

Er der nogle som har en work-around til dette?
Avatar billede nielle Nybegynder
09. august 2006 - 19:12 #1
Det burde virke as-is. Hvad er det for en fejlbesked du får?
Avatar billede phrozia Juniormester
09. august 2006 - 19:15 #2
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Avatar billede nielle Nybegynder
09. august 2006 - 19:16 #3
Prøv at sætte noget fejl håndtering på:

$sql = "SELECT * FROM $mySQL_tabl WHERE $field='2' AND character_class='Mage'";
echo "DEBUG: $sql<br>";
$result_atendees = mysql_query($sql) or die(mysql_error());
Avatar billede phrozia Juniormester
09. august 2006 - 19:18 #4
Crist, det er sq min egen fejl... Jeg overskriver variablen længere oppe. o.O

Sorry! Graver mig lige ned! :D
Avatar billede nielle Nybegynder
09. august 2006 - 19:21 #5
I 9 ud af 10 tilfælde skyldes underlig databaseopførsel at egne SQL-sætninger indeholder noget andet end man forventede. Derfor er det første man bør gøre - i den slags situationer - altid at udskrive dem før at man forsøger at udføre dem.
Avatar billede phrozia Juniormester
09. august 2006 - 19:21 #6
Lukker og slukker, sorry Nielle, men tak for forsøget :)
Avatar billede phrozia Juniormester
09. august 2006 - 19:22 #7
Jeps.. det var det jeg lige prøvede og så var den tom.. :)
Avatar billede nielle Nybegynder
09. august 2006 - 19:27 #8
Jeg er lidt i tvivl på din kommentar: Brugte du min debug-kode eller gjorde du noget andet?
Avatar billede phrozia Juniormester
09. august 2006 - 19:32 #9
Jeg lavede en echo $field; lige inden mysql og da intet blev posted, kunne jeg se variablen var forkert.

$field blev sat i header men jeg overskrev den senere hen inden mysql udtrækket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester