重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先你要明白, DBI 是 Interface (界面), DBD 是 Driver ( 实际帮你存取 DB 的软件块 )
创新互联建站是专业的宜州网站建设公司,宜州接单;提供网站设计制作、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宜州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
然後这个流程就是
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.
最後, 你说到网上说得乱七八糟的,试好久失败了. 请问, 你理解的是怎样的 ? 你试了甚麼 ? 怎样的失败 ? 报甚麼的错 ?
1、 首先确保linux下mysql安装好,服务启动完之后,就可以开始连接数据库了。在终端输入“mysql -hlocalhost -uroot -p”,其中h参数是主机名,这里是本地就写localhost,也可以省略:
2、输入mysql的密码之后就登录了,也可以不输入密码登录,比如这里的root密码是mysql123456,可以直接输入“mysql -hlocalhost -uroot -pmysql123456”,此时就没有提示输入密码,直接进入mysql的命令行中了:
3、此时显示的就是mysql的命令行界面了,若要退出输入quit就可以退出了。以上就是linux中连接数据库的操作:
是什么系统?windows下的strawberry perl已经带了dbi和dbd了linux下,安装mysql client后,可以用下面的命令安装:perl -MCPAN -e 'install DBI'perl -MCPAN -e 'install DBD::mysql'
用DBI就可以给你段代码:
use DBI;
my $dbname = "test";
my $location = "192.168.1.115";
my $port = "3306"; #这是mysql的缺省
my $database = "DBI:mysql:$dbname:$location:$port";
my $db_user = "root";
my $db_pass = "123456";
my $dbh = DBI-connect($database,$db_user,$db_pass);
my $sql = "SELECT * FROM tablename";
my $sth = $dbh-prepare($sql);#准备
$sth-execute() or die "无法执行SQL语句:$dbh-errstr"; #执行
while (@data = $sth-fetchrow_array()) {#fetchrow_array返回row
print "Email:$data[0]\t Telephone:$data[1]\n";
}
$sth-finish();
$dbh-disconnect;#断开数据库连接