---
title: "SQL-sats som krånglar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/52502-sql-sats-som-krånglar"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "henkeny"
published: "2002-09-07T11:39:57.000Z"
updated: "2002-09-07T12:50:19.000Z"
replies: 6
views: 277
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/52502-sql-sats-som-krånglar"
---

# SQL-sats som krånglar

## #1 — henkeny, 2002-09-07T11:39Z

Då var det dags för ett nytt problem :-)

Har en select-lista jag väljer matkategori ur.
\---------------main.php----------------

\<select name="SnabbvalMat" onChange="document.location='snabbval_mat_res.php?kategori=' + this\[this.selectedIndex\].value;"\>
      
	  \<option selected\>Snabbval Mat\</option\>
	  \<option value="Svensk husmanskost"\>Svensk husmanskost\</option\>
	  \<option value="Kött"\>Kött\</option\>
      \<option value="Fisk"\>Fisk\</option\>
      \<option value="Italienskt"\>Italienskt\</option\>
      \<option value="Kinesiskt"\>Kinesiskt\</option\>
      \<option value="Pizza"\>Pizza\</option\>
      \<option value="Vegetariskt"\>Vegetariskt\</option\>

\</select\>

\--------------snabbval_mat_res.php-------------

\<?
include("dbconn.inc");
$sql = "SELECT \* FROM restaurang WHERE kat LIKE '%$kategori%";
$result=mysql_query("$sql");

?\>
\<table border="0" width="300" align="left"\>
   \<tr align="left"\>
       \<th\>Restaurang\</th\>
       \<th\>\<i\>Geografisk placering\</i\>\</th\>
   \</tr\>

\<?
while ( $row = mysql_fetch_array($result) ) 
{ 

?\>

   \<tr\>
\<?   
	$uid = $row\['id'\];
	$restname = $row\['restname'\];
	$omrade = $row\['omrade'\];

	$visaURL = "restur_pres.php?idnr=$uid";
?\>
       \<td\>\<a href="\<? print $visaURL ?\>"\>\<? print $restname ?\>\</a\>&nbsp\</td\>
       \<td\>\<i\>\<? print $omrade ?\>&nbsp\</i\>\</td\>
       
   \</tr\>

\</font\>
\<?
}
mysql_close ($conn);
?\>

Får felmeddelandet :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/u1143/web/snabbval_mat_res.php on line 42

line 42 är: 
while ( $row = mysql_fetch_array($result) ) 

haft detta felmeddelande innan, men jag kna inte komma på vad det är som strular nu..

tacksam för svar

/Henke

Permalänk: https://www.webforum.nu/p/52502

## #2 — henkeny, 2002-09-07T11:42Z

Glöm det.......en jävla fnuttjävel för lite....och så hittar man det precis när man postat inlägg här.

Hej på er!

 :birp 
/Henke

Permalänk: https://www.webforum.nu/p/777319

## #3 — @nders, 2002-09-07T11:42Z

Du har glömt att stänga strängen inuti SQL-frågan. 

```php
$sql = "SELECT * FROM restaurang WHERE kat LIKE '%$kategori%'";
```

Använd gärna \[ kod\]- eller \[ php\]-taggar så blir din kod mer lättläst. (Utan inledande mellanslag då).

Mvh,

Permalänk: https://www.webforum.nu/p/777320

## #4 — SPiN, 2002-09-07T11:43Z

Ändra följande i filen snabbval_mat_res.php, från:

```
<?
include("dbconn.inc");
$sql = "SELECT * FROM restaurang WHERE kat LIKE '%$kategori%";
$result=mysql_query("$sql");

?>
```

Till:

```
<?
include("dbconn.inc");
$sql = "SELECT * FROM restaurang WHERE kat LIKE '%$kategori%'";
$result=mysql_query( $sql )
     or die( mysql_error() );
?>
```

Jag tror att det beror på att du glömt en enkelfnutt i SQL-satsen, som du ser att jag lade till. Jag la också till 'or die'-raden, för att se om SQL-frågan genererar något fel - i så fall dör scriptet med felmeddelandet.

Permalänk: https://www.webforum.nu/p/777321

## #5 — henkeny, 2002-09-07T11:52Z

tack för svaren så hemskt mycket!!

kom på att jag tänkt lite fel. det fungerar mycket riktigt nu.

men på första sidan main.php har jag färdiga kategorier som man väljer i drop-listen. Likaså i databasen finns dessa kategorier med så jag ska ju inte ha en SQL sats som denna som tar ungefärligt lika poster.

Min SQL-sats ska ju bara visa de poster i databasen som har EXAKT samma värde. T.ex. väljer jag pizza i select-listen ska den bara visa de poster som har denna katagori.

Hur skriver jag den sql-satsen???

Permalänk: https://www.webforum.nu/p/777335

## #6 — SPiN, 2002-09-07T12:49Z

Om jag förstått dig rätt; Då byter du ut nyckelordet LIKE mot ett likhetstecken ( = ) och tar bord wildcard-tecknen ( % ).

SELECT blah FROM bluh WHERE blih = '$kategori'

Permalänk: https://www.webforum.nu/p/777383

## #7 — @nders, 2002-09-07T12:50Z

Möjligen missförstår jag frågan, men om du istället för operatorn LIKE använder = så får du ju en exakt jämförelse. (Bort med wildcards givetvis då också).

```
$sql = "SELECT * FROM restaurang WHERE kat = '$kategori'";
```

Mvh,

Permalänk: https://www.webforum.nu/p/777386

---

Tråden på webben: https://www.webforum.nu/amne/php/52502-sql-sats-som-krånglar
