---
title: "Enkel sökfunkt"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/179019-enkel-sökfunkt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Emil W"
published: "2009-06-16T18:51:05.000Z"
updated: "2009-06-17T06:20:05.000Z"
replies: 9
views: 439
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/179019-enkel-sökfunkt"
---

# Enkel sökfunkt

## #1 — Emil W, 2009-06-16T18:51Z

Hej alla har problem med min sök funktion  

så ser sql_query ut 

SELECT rubrik FROM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* WHERE rubrik LIKE '%'

jag får detta fel meddelande 

Notice: Undefined variable: sok in C:\\wamp\\www\\emilsbilcommunity\\sokkolla.php on line 11

```php
<?php 

//Gjord av Emil Wiklund

$con = @mysql_connect("*********","*********","***********");
if(!$con)
{
die('Databasfel' . mysql_error());
}

mysql_select_db("**************", $con);

$result = mysql_query("SELECT ********** FROM ******* WHERE rubrik LIKE '%$sok%'") or die (mysql_error());

$sok = $_GET['sok'];

while($row = mysql_fetch_array($result))
{
echo $row['rubrik'];
}
mysql_close($con);
?>
```

Här är formuläret

```
<form method="get" action="sokkolla.php">
<input type="text" name="sok"> <input type="submit" name="skicka" value="Sök">
</form>
```

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

## #2 — nitro2k01, 2009-06-16T19:06Z

Du tilldelar variabeln $sok efter att du försöker anropa databasen...
Sen en allmän kommentar, du bör *alltid* escape'a indata som ska användas i ett databas-anrop! (Om du inte vill att någon ska komma åt att tömma databasen eller hitta på något annat lurt.)

```php
$sok = mysql_real_escape_string($_GET['sok']);

$result = mysql_query("SELECT ********** FROM ******* WHERE rubrik LIKE '%$sok%'") or die (mysql_error());
```

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

## #3 — Emil W, 2009-06-16T19:10Z

Jag får fortfarande fel

Notice: Undefined variable: sok in C:\\wamp\\www\\emilsbilcommunity\\sokkolla.php on line 11

SELECT rubrik FROM \*\*\*\*\*\*\*\*\*\*\*\*\* WHERE rubrik LIKE '%%'

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

## #4 — nitro2k01, 2009-06-16T19:13Z

Har du fyllt i något i rutan? Pröva att skriva ut $sok och $\_GET\['sok'\] med echo och se vad som händer.

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

## #5 — Emil W, 2009-06-16T19:16Z

Han skriver ut det man skrivit i fältet

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

## #6 — nitro2k01, 2009-06-16T19:21Z

Prova

```php
$result = mysql_query("SELECT ********** FROM ******* WHERE rubrik LIKE '%".$sok,"%'") or die (mysql_error());
```

Om det inte funkar, posta hela koden som den ser ut då.

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

## #7 — Emil W, 2009-06-16T19:25Z

Jag får dessa fel meddelanden 

Notice: Undefined variable: sok in C:\\wamp\\www\\emilsbilcommunity\\sokkolla.php on line 11

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\\wamp\\www\\emilsbilcommunity\\sokkolla.php on line 11

```php
<?php 

//Gjord av Emil Wiklund
$con = @mysql_connect("*********","********","***********");
if(!$con)
{
die('Databasfel' . mysql_error());
}

mysql_select_db("***********", $con);

$result = mysql_query("SELECT rubrik FROM sokrecept WHERE rubrik LIKE '%".$sok,"%'") or die (mysql_error());

$sok = mysql_real_escape_string($_GET['sok']);

while($row = mysql_fetch_array($result))
{
echo $row['sok'];
}
mysql_close($con);
?>
```

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

## #8 — nitro2k01, 2009-06-16T19:37Z

Meeen... Du har ju fortfarande "$sok = ..." på raden *under* mysql_query. Flytta upp den raden så att den hamnar ovanför mysql_query-raden! Du försöker använda variabeln innan du har skapat den.

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

## #9 — Emil W, 2009-06-16T19:47Z

Nu funkar den men hur gör jag så att den kollar typ att man måste skriva pannkakor för att den ska hitta så att han inte hittar om man skriver p

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

## #10 — The_Hulk, 2009-06-17T06:20Z

vill du bara hitta exakt det man söker på?

```php
$result = mysql_query("SELECT rubrik FROM sokrecept WHERE rubrik ='."$sok,"'") or die (mysql_error());
```

Eller vi du bara hitta hela ord i rubriken?
I så fall kanske det är bäst att skapa en index-tabell för sökningen då du splittar upp rubriken i hela ord och sparar varje ord som en egen post.
Så har de i alla fall gjort i phpbb.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/179019-enkel-sökfunkt
