免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1577 | 回复: 8
打印 上一主题 下一主题

无法使用Net-MySQL模块 [复制链接]

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-13 15:20 |只看该作者 |倒序浏览
用sniffer看到程序和数据库通信了,可就是数据库没反应,求解

不会是因为官网cpan文档里的错别字造成的吧,官网文档里好多错别字,痛苦死我了

  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use Net::MySQL;

  5. my $mysql = Net::MySQL->new(
  6.             hostname => 'localhost',
  7.             database => 'accounts',
  8.             user => 'root',
  9.             password => 'firstsky');
  10. $mysql->query(q{
  11.         insert into sky_accout (sky_pid, sky_holdUserId, sky_comment) values (2, '2', '火星人专用账号')});
  12. $mysql->close;
复制代码

[ 本帖最后由 godsad 于 2009-10-13 15:29 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-10-13 15:44 |只看该作者

回复 #1 godsad 的帖子

我曾经看过一阵这个模块的代码。
个人觉得:你还是用DBI和DBD::mysql比较好,这也是perl操作DB的标准做法。

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
3 [报告]
发表于 2009-10-13 15:50 |只看该作者
同一个人的作品吧,感觉Net::MySQL更清晰,作者也有意用它做终结者...

[ 本帖最后由 godsad 于 2009-10-13 15:59 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-10-13 15:59 |只看该作者

回复 #3 godsad 的帖子

Net::Mysql是一个日本人写的,纯perl的数据库接口。
DBI是Tim Bunce写的,DBI的Mysql驱动DBD::mysql是用C写port到Perl的。

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
5 [报告]
发表于 2009-10-13 16:04 |只看该作者
哦...
http://search.cpan.org/~oyama/Net-MySQL-0.09/MySQL.pm
http://search.cpan.org/dist/DBD-mysqlPP-0.04/mysqlPP.pm
这两个模块文档的照片一样,我还以为是同一个人...

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
6 [报告]
发表于 2009-10-13 16:40 |只看该作者
用了dbi+dbd::mysql成功操作数据库,但是中文插入进去变乱码.
数据库用的是utf-8的字符集...又发现mysql配置文件默认编码是gb2315
代码如下

  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use DBI;

  5. my $dbh = DBI->connect("DBI:mysql:database=accountuser;host=localhost","root","firstsky");
  6. $dbh->{'mysql_enable_utf8'}=1;
  7. $dbh->do ("insert into sky_account values (2,'2','火星人专用账号')");
  8. $dbh->disconnect();
复制代码

[ 本帖最后由 godsad 于 2009-10-13 17:36 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-10-13 16:52 |只看该作者
原帖由 godsad 于 2009-10-13 16:40 发表
用了dbi+dbd::mysql成功操作数据库,但是中文插入进去变乱码.
数据库用的是utf-8的字符集
代码如下

#!/usr/bin/perl
use warnings;
use strict;
use DBI;

my $dbh = DBI->connect("DBI:mysql:databas ...


你要先把字符转成utf8的再插入utf-8的表.
use Encode;

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
8 [报告]
发表于 2009-10-13 17:53 |只看该作者
是Encodings::CN::Utility这个模块吗?总是安装不了

论坛徽章:
0
9 [报告]
发表于 2009-10-14 09:29 |只看该作者
原帖由 godsad 于 2009-10-13 17:53 发表
是Encodings::CN::Utility这个模块吗?总是安装不了


see this:
http://bbs3.chinaunix.net/viewthread.php?tid=711103
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP