How can pass the input value in the find_by_sql() function?

1) "please help me immediately" is rude. You think people say "oh i
know the answer but i will wait with the answer for 3 days?" People
will help if they can.

2) <%= text_field "movie", "id" %>
will compile to:
<input type="text" id="movie_id" name="movie[id]" value="<%= @movie.id
%>" />
(look at your generated HTML)
so your parameter is params[:movie][:id] and NOT params[:id]

=> @report = Movie.find_by_sql([query, params[:movie][:id]])

3) why don't you just use:

@report = Movie.find(params[:movie][:id])

that will have the same result, plus it gives you the advantages of AR
collections, which find_by_sql doesn't

1) as i already said, it is not params[:id], it's params[:movie][:id]
    so, as i already said, try Movie.find(params[:movie][:id])

2) you don't need the @movie.id value. if it's not there, it won't be
filled in the text_field, but that's fine. it's just part of how the
FormTagHelpers build the Tags.
   look at your generated HTML

Ruhul Amin wrote:

My main missionis to search a movie by its name. so please tell me
how can i use to write the sql query using "like"

The books /Agile Development with Rails/ and /Rails Recipes/ cover
that. Please consider getting one, or both. They will teach this
trick:

    raise params.inspect

Write that into an action, and it will show you what parameters the
view sends to the action. Then take it out!

suppose i want to search all movie whose name begin with "mission"

        @reports = Movie.find(:all, :conditions => ['name like ?', "%mission%"])

Now replace mission with a variable, such as "%#{search_term}%".