webForumDet fria alternativet

Får EJ ut rätt värde i min SQL-sats

Databaser & SQL

14 svar · 378 visningar · startad av lillebror

Medlem sedan apr. 20041 597 inlägg
Frågan#1

Jag har problem med att få ut rätt information ur min databas. Den information jag vill få ut ur databasen är väderinformation som lagras för olika flygplatser.

Felet jag får på sidan är "Unknown column 'ESSA' in 'where clause'"

Jag tycker det låter konstigt att den säger okänd kolumn "ESSA" när det inte finns någon sådan i databasen! ESSA däremot finns i databasen och i fältet codeID.

Databasen har följande utformning:

tblMetar
===============
codeID VARCHAR(5)
metar   VARCHAR(250)

Innehållet i fälten ser ut så här...

ESDF | ESDF 251020Z VRB03KT CAVOK 13/05 Q1019=

SQL-sats + övrig kodsats

$airport = "ESSA";

$sqlSelect = "SELECT metar FROM tblMetar WHERE codeID = $airport";
$RSobj = mysql_query($sqlSelect) or die (mysql_error());
	
while($row = mysql_fetch_array($RSobj)) {
echo "".$row[metar]."";
}

Några idéer om vad som kan vara fel?! :)

Medlem sedan sep. 20011 914 inlägg
#2

Re: Får EJ ut rätt värde i min SQL-sats

$airport = "[b]'[/b]ESSA[b]'[/b]";

$sqlSelect = "SELECT metar FROM tblMetar WHERE codeID =  $airport";
$RSobj = mysql_query($sqlSelect) or die (mysql_error());
	
while($row = mysql_fetch_array($RSobj)) {
echo "".$row[metar]."";
}
Medlem sedan apr. 20041 597 inlägg
#3

Jag prövade med "fnuttarna" runt namnet men jag får ändå inte ut något ur databasen. Jag har dubbelkollat och det finns metar lagrad för codeID = ESSA.

Har aldrig råkat ut för detta problem tidigare när jag använde mig av ASP.

Medlem sedan apr. 20041 597 inlägg
#4

Prövade precis en annan sak. Tog bort "WHERE codeID = $airport" från SQL-satsen. Då fick jag ut samtliga metar ur tabellen. Är inte det lite konstigt? :OO

Medlem sedan sep. 20011 914 inlägg
#5

Du får inte felmeddelandet nu iaf, eller?

Medlem sedan apr. 20041 597 inlägg
#6

Nope det försvann...

Nu ser det ut så här på skärmen när jag får ut informationen...

ESDF 251020Z VRB03KT CAVOK 13/05 Q1019= ESGG 251020Z 15005KT CAVOK 10/06 Q1018 RWY 21 DAMP 51-100 PCT BA GOOD= ESGP 251020Z 00000KT CAVOK 11/08 Q1018= ESKN 251020Z 26007KT CAVOK 05/01 Q1017 88CLRD//= ESMK 251020Z 06004KT 9000 BR SCT002 07/07 Q1019= ESMQ 251020Z AUTO 17005KT 9999 NSC 09/04 Q1018= ESMS 251020Z 14006KT 8000 BR NSC 09/09 Q1018= ESMT 251020Z 15004KT 110V180 CAVOK 12/06 Q1018= ESMX 251020Z AUTO VRB02KT 9999 NSC 09/06 Q1018= ESNG 250920Z 35008KT 9999 BKN040 04/01 Q1012= ESNN 251020Z 32016KT CAVOK 09/02 Q1015 RWY 16 DAMP 51-100 PCT BA73= ESNO 251020Z 32010KT 300V010 CAVOK 09/M00 Q1013= ESNQ 251020Z 02006KT 9999 BKN022 03/M00 Q1012 REDZ= ESNS 251020Z 36007KT CAVOK 08/00 Q1012= ESNU 251020Z 32012KT CAVOK 07/M00 Q1012 14CLRD//= ESNY 251020Z AUTO 30010KT 9999 SKC 11/02 Q1016= ESOE 251020Z AUTO 20008KT 9999 NSC 07/03 Q1018 RWY 19 CLEAR and DRY BA GOOD= ESOK 251020Z VRB02KT 0500N R03/P1500N R21/0500N BCFG BKN002 M00/M01 Q1018= ESOW 250920Z 25003KT CAVOK 06/02 Q1017 RWY 19 WET 0-10 PCT BA GOOD= ESPA 251020Z 34008KT CAVOK 06/01 Q1012= ESPC 251020Z 30008KT 9999 SCT023 05/03 Q1016= ESSA 251020Z 22004KT CAVOK 12/01 Q1016 ALL RWYS DAMP 11-25 PCT BA GOOD NOSIG= ESSB 251020Z AUTO 27004KT 9999 NSC 10/01 Q1017= ESSD 251020Z AUTO 30004KT 9999 NSC 10/01 Q1017= ESSL 251020Z AUTO 33005KT 300V360 9999 SKC 05/03 Q1018= ESSV 251020Z 28006KT CAVOK 05/02 Q1018= ESTA 251020Z 16005KT 120V190 CAVOK 12/08 Q1018= ESTL 251020Z AUTO 11007KT 9999 SKC 13/09 Q1018= ESUT 251020Z AUTO 31011KT 9999 OVC061 03/M01 Q1014=

Medlem sedan sep. 20011 914 inlägg
#7

Skriv ut sql-satsen och se hur den blir.

$airport = "'ESSA'";

$sqlSelect = "SELECT metar FROM tblMetar WHERE codeID =  $airport";

echo $airport;
Medlem sedan sep. 20011 914 inlägg
#8

Kan inget om PHP, men i asp så gjorde man ju något sånt här.

$airport = "'ESSA'";

$sqlSelect = "SELECT metar FROM tblMetar WHERE codeID = " &   $airport;
Medlem sedan apr. 20041 597 inlägg
#9

Så här ser sql-satsen ut när jag har skrivit ut den.

SELECT metar FROM tblMetar WHERE codeID = 'ESSA'
Medlem sedan apr. 20041 597 inlägg
#10

Då fick jag upp följande fel...

E@AA
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Medlem sedan apr. 20041 597 inlägg
#11

Det känns verkligen som att jag går bet på detta! Jag har då aldrig upplevt att det varit så svårt att få ut information från en sådan enkel sql-sats...

Medlem sedan sep. 20011 914 inlägg
#12

SQLen verkar ju rätt, så kolla i PHP forumet om de kan hitta något fel.

Medlem sedan juni 200032 967 inlägg
#13

Koderna lagrade i CodeID råkar inte ha någrot mellanslag efter sig eller så? SQL-frågan i inlägget är korrekt, under förutsättning att det står exakt ESSA i codeID på någon av posterna.

Medlem sedan dec. 200012 464 inlägg
#14

@nders: Frågan är utredd i PHP-forumet och där kom man fram till att det låg inledande blanka i kolumnen.

Medlem sedan juni 200032 967 inlägg
#15

Där ser man...

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)