Two small questions


#1

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?


#2

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


#3

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


#4

Daniel S. 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!