# Query problem with 'LIKE'

**URL:** <https://www.ruby-forum.com/t/query-problem-with-like/133472>\
**Category:** Rails\
**Created:** [March 31, 2008, 9:26pm UTC](https://www.ruby-forum.com/t/query-problem-with-like/133472 "2008-03-31T21:26:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [March 31, 2008, 9:26pm UTC](https://www.ruby-forum.com/t/query-problem-with-like/133472/1 "2008-03-31T21:26:04Z")

</div>

Hi. I’m trying to implement a basic search, but the LIKE clause in the  
query dosen’t seem to work as I expected. The result is only found if  
the exact phrase is typed in to the field.

Have I made some sort of error?

query = params[:title]  
@results = Auction.find(:all, :conditions =\> [“title like ?”, query])

Any help would be appreciated. Thanks.

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [March 31, 2008, 9:29pm UTC](https://www.ruby-forum.com/t/query-problem-with-like/133472/2 "2008-03-31T21:29:02Z")

</div>

> query = params[:title]  
> @results = Auction.find(:all, :conditions =\> [“title like ?”, query])

You have to include the ‘%’

@results = Auction.find(:all, :conditions =\> [“title like ?”, ‘%’ +  
query + ‘%’])

that should work.

-S

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [March 31, 2008, 9:36pm UTC](https://www.ruby-forum.com/t/query-problem-with-like/133472/3 "2008-03-31T21:36:05Z")

</div>

Now getting:

can’t convert Array into String

app/controllers/pages\_controller.rb:13:in `+' app/controllers/pages_controller.rb:13:in`searchresults’

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [March 31, 2008, 9:39pm UTC](https://www.ruby-forum.com/t/query-problem-with-like/133472/4 "2008-03-31T21:39:39Z")

</div>

On Mon, 2008-03-31 at 21:36 +0200, Dan S. wrote:

> Now getting:
> 
> can’t convert Array into String
> 
> app/controllers/pages\_controller.rb:13:in `+' app/controllers/pages_controller.rb:13:in`searchresults’

* * *

because query is not a string and you MUST use a string, not an array in  
a ‘LIKE’ statement.

Craig

---

<div class="post-metadata">

**Author:** ![drsharp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@drsharp](https://www.ruby-forum.com/u/drsharp)\
**Post date:** [March 31, 2008, 9:43pm UTC](https://www.ruby-forum.com/t/query-problem-with-like/133472/5 "2008-03-31T21:43:47Z")

</div>

Ah, ok thanks. Got it working now!🙂
