首先你要明白, DBI 是 Interface (界面), DBD 是 Driver ( 实际帮你存取 DB 的软件块 )
然後这个流程就是
1) DBI 会给你连上 driver, 你给的参数(id, password)也会透过 driver 给连上 DB.
2) 连上後, DBI 会给你返回一个 DB 的操作句柄 ( handle )
3) 最後你会透过这个 handle 去操作你的 DB
不过, 你的第一步是确定你的的 mySQL 已经运作, 你可以透过 console 存取 DB.
第二, 确定你的 perl 是否已安装了 mysql 的块;
use DBI;
@drivers= DBI->available_drivers;
print "@drivers";
如果没有, 请先安装这个 driver (DBD::mysql)
第三, 尝试连接
use DBI;
$dbh = DBI->connect('DBI:mysql:databasename', 'username', 'password' )
|| die "Could not connect to database: $DBI::errstr";
如果你的 db 不在本机, 你得写成
$dbh = DBI->connect('DBI:mysql:databasename;host=192.168.xxx.xxx', # 加入 DB 的 host
'username', 'password', { RaiseError => 1 } );
如果你死在这里, 那麼, 请给出你得到的错误
留意, 你实在要操作的是 $dbh , 不是 $dbi.
最後, 你说到网上说得乱七八糟的,试好久失败了. 请问, 你理解的是怎样的 ? 你试了甚麼 ? 怎样的失败 ? 报甚麼的错 ?
取消
评论