Forum: Ruby Two small questions

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Dfcdb1e3ca91952338d090134b9e0316?d=identicon&s=25 Valen (Guest)
on 2006-05-12 03:19
I play Ruby without rails:

<% @connection = Mysql.new('localhost', 'root', '', 'carpart')%>
<%=  query = 'Select * from `store` where  `part`="Stuff on shelf" ' %>
<% list = @connection.query(query) %>

 and it works, but when I try to use a="Stuff on shelf" and I have

<%=  query = 'Select * from `store` where  `part`=' +  "#{a}"  %>

 operator <% list = @connection.query(query) %> raises MYSQL error, so I
cannot change string "Stuff on shelf" by variable a. I tried different
ways, but in vain.

And the second question: How to insert in *.rhtml file another *.rhtml
file by using ruby operator insert or other?
23172b6630dc631a134c9bad2fec2a39?d=identicon&s=25 Chris (Guest)
on 2006-05-12 04:26
Valen wrote:
> I play Ruby without rails:
>
> <% @connection = Mysql.new('localhost', 'root', '', 'carpart')%>
> <%=  query = 'Select * from `store` where  `part`="Stuff on shelf" ' %>
> <% list = @connection.query(query) %>
>
>  and it works, but when I try to use a="Stuff on shelf" and I have
>
> <%=  query = 'Select * from `store` where  `part`=' +  "#{a}"  %>
>
>  operator <% list = @connection.query(query) %> raises MYSQL error, so I
> cannot change string "Stuff on shelf" by variable a. I tried different
> ways, but in vain.
As you have it there, is supect the resulting query is being generated
as:
'Select * from `store` where  `part`=Stuff on shelf'

I suspect you need to have quotes around 'Stuff on shelf', maybe try

<%=  query = 'Select * from `store` where  `part`="' +  "#{a}\""  %>


>
> And the second question: How to insert in *.rhtml file another *.rhtml
> file by using ruby operator insert or other?

you can load a ruby file via require (only loads once) or load (loads
file every time).  Not sure if it will work with eruby...

cheers
5da4c52f43677f395aff5bde775593c2?d=identicon&s=25 Daniel Schierbeck (dasch)
on 2006-05-12 12:03
(Received via mailing list)
Valen wrote:
>  operator <% list = @connection.query(query) %> raises MYSQL error, so I
> cannot change string "Stuff on shelf" by variable a. I tried different
> ways, but in vain.

Try this:

   query = "SELECT * FROM `store` WHERE `part`='#{a}'"

Note the single quotation marks around `#{a}'. Also note that I use
upper case characters for all the SQL keywords -- it's just a
convention, but it makes it easier for others to understand your code if
they're used to the coding style.

One more thing; is `a' an input you get from the user? If so, you'll
need some more info on how to deal with that.


Cheers,
Daniel
Dfcdb1e3ca91952338d090134b9e0316?d=identicon&s=25 Valen (Guest)
on 2006-05-12 15:36
Daniel Schierbeck wrote:
> Valen wrote:
>>  operator <% list = @connection.query(query) %> raises MYSQL error, so I
>> cannot change string "Stuff on shelf" by variable a. I tried different
>> ways, but in vain.
>
> Try this:
>
>    query = "SELECT * FROM `store` WHERE `part`='#{a}'"
>
> Note the single quotation marks around `#{a}'. Also note that I use
> upper case characters for all the SQL keywords -- it's just a
> convention, but it makes it easier for others to understand your code if
> they're used to the coding style.
>
> One more thing; is `a' an input you get from the user? If so, you'll
> need some more info on how to deal with that.
>
>
> Cheers,
> Daniel

----------------------
Thanks a lot, Daniel!  I appreciate your help. It works!
This topic is locked and can not be replied to.