---
title: "subStr ?!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/88823-substr"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Asa"
published: "2003-10-18T08:13:32.000Z"
updated: "2003-10-18T09:33:41.000Z"
replies: 6
views: 254
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/88823-substr"
---

# subStr ?!

## #1 — Asa, 2003-10-18T08:13Z

Har en kod där jag ska kolla i mysqldatabasen i en om ordet jag ska spara finns med. Även delar av ordet ska kollar. Så om ordet ham finns i databasen och man skriver hamburgare så ska det säga till om det. Den kod jag har nu är:

```
  
<?$sql = "Select * From tabell Where namn='" . $_POST["name"] . "'";
$get = mysql_db_query($databas,$sql) or die(mysql_error());

if (mysql_affected_rows() != 0){
  while ($RS = mysql_fetch_array($get)){?>
    <?=$_POST["name"] ?> är ej tillåtet
  <?}
}else{?>
  Fortsätt
<?}?>
```

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

## #2 — nkrantz, 2003-10-18T08:36Z

Är inte helt säker, men du måste ju i sådana fall dela upp ordet hamburgare så att sql-frågan söker på följande:
h
ha
ham
hamb
hambu
hambur
hamburg
hamburga
hamburgar
hamburgare

Kanske finns något smartare sätt, vet inte..

// Nippe

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

## #3 — Asa, 2003-10-18T08:45Z

Ingen aning! Jag är nybörjare på PHP så jag vet inte :/

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

## #4 — Patrik81, 2003-10-18T08:56Z

Man kan ju använda sig utav LIKE

```
SELECT * FROM tabell WHERE fält LIKE 'ham%';
```

Nu söker den igenom 'tabell' i fältet 'fält' efter alla ord som börjar med eller är lika med 'ham'

Good ,jaa?

MVH Patrik

//r:

Och sedan om jag läser igenom hela frågan ORDENTLIGT innan jag öppnar min käft så kanske jag kan bidra med något vettigt. Ledsen, mitt svar var ju inte alls vad du sökte efter... :(

MVH Patrik

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

## #5 — Asa, 2003-10-18T09:00Z

Okej! Ska testa. 

TIllägg:
Hehe, så kan det vara! :)

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

## #6 — Patrik81, 2003-10-18T09:13Z

Men vid en litet närmare eftertanke...
jag kanske kan var till nytta ändå... =)

Om du söker igenom databasen med min sqlrad, fast bara med första bokstaven i ordet, så kommer den ju att hitta alla förekomster av ord som börjar med 'h' (i detta exemplet)
Sedan kan du ju med en foreachloop kolla igenom om ditt ord finns i strängen som returnerats från mysql

typ:

```php
$bokstav_1 = substr($_POST['name'],0,1);
$sql = "SELECT * FROM tabell WHERE namn LIKE '" . $bokstav_1 ."%'";
```

och sedan kolla av alla inlägg i arrayen med:

```php
foreach ($RS as $chunk){
   if (stristr($chunk, $_POST['name'])){
       // i denna post från databasen fanns namnet i $_POST['name'], gör något...
   } else {
      // namnet i $_POST['name'] fanns inte i denna post... gör något annat
   }
}
```

typ... nu ehövs det ju lite mysql anslutningar och din while loop från första inlägget för att plocka ut alla rader.

Hoppas jag inte gjort det ännu virrigare nu ;)

MVH Patrik

// r:

Kanske skulle vara mer optimerat att använda strpos() istället för stristr, men detta var ju bara en tanke som man kan bygga vidare på, förhoppnignsvis =)

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

## #7 — Asa, 2003-10-18T09:33Z

Okej, men jag får testa detta... Tack. Återkommer om det strular.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/88823-substr
