Two small questions

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?

···

--
Posted via http://www.ruby-forum.com/.

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

···

--
Posted via http://www.ruby-forum.com/.

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.

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

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!

--
Posted via http://www.ruby-forum.com/.