# What's proble with ruby-mysql-prepare?

**URL:** <https://www.ruby-forum.com/t/whats-proble-with-ruby-mysql-prepare/191553>\
**Category:** Ruby\
**Created:** [July 14, 2010, 12:35pm UTC](https://www.ruby-forum.com/t/whats-proble-with-ruby-mysql-prepare/191553 "2010-07-14T12:35:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [July 14, 2010, 12:35pm UTC](https://www.ruby-forum.com/t/whats-proble-with-ruby-mysql-prepare/191553/1 "2010-07-14T12:35:45Z")

</div>

when i run p1 ,i can get something like:  
Zimmer Holdings, Inc.  
Zion Oil & Gas Inc  
Zions Bancorporation  
Zions Bancorporation  
Zions Bancorporation  
Zions Bancorporation  
Zweig Fund, Inc. (The)  
Zweig Total Return Fund, Inc. (The)  
p1:  
require ‘rubygems’  
require ‘mysql’  
file=open(’/home/pt/usastock/nasdaqcompanylist.csv’,‘r’)  
dbh = Mysql.real\_connect(“localhost”, “root”, “\*\*\*\*\*”, “usastock”)  
while line=file.gets  
line=line.chomp.split(""")  
print line[3],"\n"  
end

when i run p2,i can get nothing ,what’s wrong?  
p2:  
require ‘rubygems’  
require ‘mysql’  
file=open(’/home/pt/usastock/nasdaqcompanylist.csv’,‘r’)  
dbh = Mysql.real\_connect(“localhost”, “root”, “\*\*\*\*\*”, “usastock”)  
while line=file.gets  
line=line.chomp.split(""")  
print line[3],"\n"  
sqlstr=“insert into nasdaqname(name) values (?);”  
st=dbh.prepare(sqlstr)  
st.execute(#{line[3]})  
end

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [July 14, 2010, 12:44pm UTC](https://www.ruby-forum.com/t/whats-proble-with-ruby-mysql-prepare/191553/2 "2010-07-14T12:44:08Z")

</div>

require ‘rubygems’  
require ‘mysql’  
file=open(’/home/pt/usastock/nasdaqcompanylist.csv’,‘r’)  
dbh = Mysql.real\_connect(“localhost”, “root”, “\*\*\*\*\*\*”, “usastock”)  
sqlstr=“insert into nasdaqname(name) values (?);”  
st=dbh.prepare(sqlstr)  
while line=file.gets  
line=line.chomp.split(""")  
print line[3],"\n"  
st.execute(#{line[3]})  
end

i can get nothing whit that too.

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [July 14, 2010, 12:54pm UTC](https://www.ruby-forum.com/t/whats-proble-with-ruby-mysql-prepare/191553/3 "2010-07-14T12:54:54Z")

</div>

Whats with this

> st.execute(#{line[3]})

shouldn’t you be using

> st.execute(line[3])

the #{…} stuff is just for string interpolation

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [July 14, 2010, 2:31pm UTC](https://www.ruby-forum.com/t/whats-proble-with-ruby-mysql-prepare/191553/4 "2010-07-14T14:31:16Z")

</div>

there two ways to do it after test  
1.st.execute(line[3])  
2.st.execute("#{line[3]}")  
thinks
