---
title: "Använda LIKE %?% i Prepared statment"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/136175-använda-like-i-prepared-statment"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "pg"
published: "2005-10-22T12:08:05.000Z"
updated: "2005-10-24T20:50:19.000Z"
replies: 5
views: 384
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/asp/136175-använda-like-i-prepared-statment"
---

# Använda LIKE %?% i Prepared statment

## #1 — pg, 2005-10-22T12:08Z

Hej

Jag undrar hur man bäst kan använda ADODB.Command Prepared statment då användaren skickar en sökning från ett formulär till en databas, i detta fallet MySQL.

Med ADODB.Connection brukar det vara lätt att använda t.ex 
" WHERE sName LIKE '%" & sSearchString & "%' "
" OR sAddress LIKE '%" & sSearchString & "%' "
Men detta är väl inte lämpligt med tanke på risken för SQL-injection. Jag vill heller inte filtrera sSearchString.

Så därför testade jag ett Prepared statment ...
" WHERE sName LIKE %?% "
" OR sAddress LIKE %?% "
....
Com.Parameters.Append Com.CreateParameter("Data1", 129, 1, 255, sSearchString)
Com.Parameters.Append Com.CreateParameter("Data2", 129, 1, 255, sSearchString)
Men det godkänns inte som syntax

Har också provat ...
" WHERE  INSTR(CONCAT(sName, sAddress), ?) \> 0 "
Men detta ger mig huvudbry eftersom det inte ger svar på vissa frågor som man vet finns i DB.

Detta verkar funka men ger jobbigt mycket kod om man ska kolla många kolumner...
" WHERE INSTR(sMemberNr, ?) \> 0 "
" OR INSTR(sName, ?) \> 0 "

Så jag undrar hur ni brukar göra?
Tackar för alla synpunkter och tips

Ha det /PG

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

## #2 — emission, 2005-10-23T18:02Z

```
WHERE sName LIKE '%' + ? + '%'
```

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

## #3 — pg, 2005-10-23T21:45Z

Hoppsan, ja det var ju lätt. Men tyvärr får jag det inte att funka. Nu får jag i stället db att lista alla poster. Men jag får labba mer med detta när jag får tid över. 
/PG

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

## #4 — LarsG, 2005-10-24T08:41Z

Eftersom det är mysql så 

```
WHERE sName LIKE concat('%',?,'%' )
```

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

## #5 — Erik Juhlin, 2005-10-24T09:01Z

Detta borde väl också funka..?

```
Com.Parameters.Append Com.CreateParameter("Data1", 129, 1, 255, "%" & sSearchString & "%")
```

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

## #6 — pg, 2005-10-24T20:50Z

Ja det funkar med bägge alternativen. Tack för hjälpen. /PG

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/136175-använda-like-i-prepared-statment
