13. december 2004 - 10:36Der er
13 kommentarer og 1 løsning
Problem med sql
Hej Eksperter...
Jeg har en lidt svær sql streng her, som jeg ikke helt kan finde ud af hvordan jeg kringler...
Fra min url, henter jeg et fil navn, det hedder $fil ud fra det skal jeg udvælge alle de id'er, hvor $fil står i colonnen bl1...
Det har jeg fundet ud af hvordan jeg gør, koden er her:
$fil = $_GET['fil'];
$sql = "SELECT * FROM sch_side WHERE bl1 = '$fil'"; $result = mysql_query($sql) or die (mysql_error()); while($r = mysql_fetch_array($result)) {
Så bagefter skal jeg have alle de id'er jeg lige har fundet og hente et felt der hedder Overskrift i tabellen sch-kategori hvor den id jeg lige har fundet er det samme som id i den tabel...
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Jeg er ikke sikker på dine tabeller hedder hvad jeg har i min sql og felterne er korrekt navngivet, men:
$fil = $_GET['fil'];
$sql = " SELECT sch_kategori.overskrift as katOver FROM sch_kategori INNER JOIN sch_side ON sch_side.id=sch_kategori.side_id AND sch_side.bl1 = '$fil' ";
$result = mysql_query($sql) or die (mysql_error()); while($r = mysql_fetch_array($result)) { echo $r['katOver'] . "<br>"; }
Der kan være forskel på om du i php bruger ' (enkeltpling) eller " (anførselstegn) om en variabel i SQL. Med php er det nemlig sådan, at man kan bruge anførselstegn hvis man vil opbygge en streng, men bruger man enkeltpling tvinger man php til at sætte variablen til netop det "man skriver". Nedenstående:
$var1 = "Hello"; $var2 = "World!";
$resultat = "$var1 $var2"; echo $resultat;
...vil skrive Hello World! ud, mens det her:
$var1 = "Hello"; $var2 = "World!";
$resultat = '$var1 $var2'; echo $resultat;
...vil skrive $var1 $var2. Derfor når du i din SQL-sætning skriver WHERE bl1 = '$fil'"; så leder den efter et id som er $fil og ikke værdien af variablen!
:-D okay hvis jeg skal være helt ærlig så tror jeg ikke MySQL brokker sig over om man husker enkeltpling eller ej i sine SQL-statements...men jeg har efterhånden i stille vrede accepteret, at man aldrig kan regne med noget i programmering
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.