Avatar billede Morten Olesen Nybegynder
02. januar 2004 - 22:57 Der er 13 kommentarer og
1 løsning

variabel i mysql query

Davs du.

Jeg har et problem med at få en variabel ind i mit script. Følgende linie i min kode volder mig problemer:

$query_color = 'SELECT `hex` , `image_control` FROM `color_choose` WHERE call_name = ".$color." LIMIT 0, 30';
$result_color = mysql_query($query_color, $connection);

Den går galt ved $color variablen. Jeg har forsøgt at indsætte en værdi fra databasen og så virker det som det skal. Må man ikke indsætte variabler i mysql_query eller hvad? Det er ret vigtigt for mig at jeg kan bruge værdigen fra $color, så er der andre måder jeg kan hente den på?
Avatar billede ahv Nybegynder
02. januar 2004 - 22:59 #1
$query_color = 'SELECT `hex` , `image_control` FROM `color_choose` WHERE call_name = '.$color.' LIMIT 0, 30';
Avatar billede avlund Nybegynder
02. januar 2004 - 22:59 #2
Tjek dine apostroffer. Du skal KUN bruge apostroffer når du skriver indholdet af en teksttype.
Avatar billede Morten Olesen Nybegynder
02. januar 2004 - 22:59 #3
Nåå ja så kommer der et par linier hvor jeg hiver lidt info ud af queryen:
$hex = mysql_result($result_color, 0, "hex");
$box = mysql_result($result_color, 0, "image_control");

Men jeg har som sagt mere eller mindre debugget mig frem til at det er $color tingen i første sætning der er problemet.
Avatar billede nikolajdu Nybegynder
02. januar 2004 - 23:00 #4
Nu bruger du single apostroffer i din query så skal du bruge dobbelte til variablerne.

$query_color = 'SELECT `hex` , `image_control` FROM `color_choose` WHERE call_name = "$color" LIMIT 0, 30';

eller hvis du vil have den udpenslet :

$query_color = 'SELECT `hex` , `image_control` FROM `color_choose` WHERE call_name = "'.$color.'" LIMIT 0, 30';
Avatar billede avlund Nybegynder
02. januar 2004 - 23:00 #5
Altså: $query_color = "SELECT hex, image_control FROM color_choose WHERE call_name = '".$color."' LIMIT 0, 30";
Avatar billede nikolajdu Nybegynder
02. januar 2004 - 23:01 #6
Nåja og så overså jeg alle de andre singles...
Avatar billede ahv Nybegynder
02. januar 2004 - 23:03 #7
nikolajdu, de andre single apostroffer var skam fine nok :) De gør blot at hvis MySQL udviklingsholdet vælger at reservere et ord, så vil der ikke komme en fejl når disse apostroffer er omkring.
Avatar billede avlund Nybegynder
02. januar 2004 - 23:03 #8
Hov, må hellere lægge et svar så.
Avatar billede Morten Olesen Nybegynder
02. januar 2004 - 23:06 #9
Mange tak for de mange hurtige svar. avlund's virkede så pointsne går til ham. Smider du et svar?
Avatar billede Morten Olesen Nybegynder
02. januar 2004 - 23:08 #10
@ahv
Dit virkede ikke. Den gav følgende fejl:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /STORE/polygoner_dk/public_html/test2.php on line 19

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /STORE/polygoner_dk/public_html/test2.php on line 20
Avatar billede ahv Nybegynder
02. januar 2004 - 23:09 #11
Det var fordi jeg selv glemte nogle apostroffer:

$query_color = 'SELECT `hex` , `image_control` FROM `color_choose` WHERE call_name = "'.$color.'" LIMIT 0, 30';
Avatar billede ahv Nybegynder
02. januar 2004 - 23:12 #12
moohykler -> Jeg vil anbefale dig at du stadig bruger ` rundt om dine kolonnenavne.
Avatar billede avlund Nybegynder
03. januar 2004 - 01:31 #13
ahv: hvorfor?

moohykler: takker for points.
Avatar billede ahv Nybegynder
03. januar 2004 - 09:42 #14
avlund -> se min kommentar 02/01-2004 23:03:36
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