Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ruby进行多个MySQL查询_Mysql_Ruby_Select - Fatal编程技术网

使用Ruby进行多个MySQL查询

使用Ruby进行多个MySQL查询,mysql,ruby,select,Mysql,Ruby,Select,我在Ruby中使用MySQL查询时遇到问题。我使用“mysql”gem 配置存储在单独的yml文件中,并加载到@conf变量中。 这是我的代码: # connect to the database Mysql::new(@conf['sql_host'], @conf['sql_user'], @conf['sql_password'], @conf['sql_base']) # it's ok when we're doing this my.query("SELECT * FROM `my

我在Ruby中使用MySQL查询时遇到问题。我使用“mysql”gem

配置存储在单独的yml文件中,并加载到@conf变量中。 这是我的代码:

# connect to the database
Mysql::new(@conf['sql_host'], @conf['sql_user'], @conf['sql_password'], @conf['sql_base'])

# it's ok when we're doing this
my.query("SELECT * FROM `my_table`") do |e|
  # code
end

# Maybe, I've missed something here...

# really this query will insert value into other table, used SELECT just for testing
# this throws exception: 'query: not connected'
my.query("SELECT * FROM `my_table_2`")
Windows XP
ruby 1.8.6(2008-08-11 patchlevel 287)[i386-mswin32]
mysql(2.8.1、2.7.3)
MySQL客户端版本:5.0.51a


第二个查询抛出“query:not connected”。

在任何版本的Windows上尝试使用Ruby的
mysql
gem时,我遇到了无法测量的问题。据我所知,除非你自己能想出如何编译它,否则它根本不起作用(这真是个麻烦事)


您是否考虑过将其用作ORM(对象关系映射)层,在Windows上使用SQLite或其他数据库进行开发,然后在Linux上使用MySQL运行生产环境?这是我花了一段时间的解决方案,效果很好。

首先,您的程序看起来不错。我100%确定您有libmysql.dll版本问题

我可以用Mysql安装程序提供的libmysql.dll来重现这一点

下载此文件并替换为c:\ruby\bin\

并重新运行您的程序而不做任何更改


主要问题是数据库已经完成并正在运行。我正在为这个基地写一个小工具。我只需要执行数据库查询。还有别的方法吗?太好了!谢谢我以前有过libmysql问题,但它是从我的Mysql安装中复制的,而不是从rubyforge复制的。它起作用了!赞成!谢谢Jirapong。为了澄清问题,一个5.0.x库可以工作。我正在使用ruby/bin中的5.1.42服务器和5.0.4 libmysql.dll。谢谢!我整天都在尝试一些不同的ORM包装器,最终放弃了直接使用RubyMySQL,遇到了同样的问题。结果证明对我来说也是错误的版本,这一个解决了它:-)