PHP程序中使用adodb连接不同数据库的代码实例
程序员文章站
2022-05-24 15:51:50
adodb.inc.php文件需要去下载一个adodb,放在相应的位置,然后在php中include进来就可以。
连接oracle数据库
<...
adodb.inc.php文件需要去下载一个adodb,放在相应的位置,然后在php中include进来就可以。
连接oracle数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = &newadoconnection('oci8'); $conn->connect($dbserver,$dbuser,$dbpass); ?>
连接postgresql数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = newadoconnection('postgres'); $conn->connect('localhost', 'root', 'pass', 'mydb'); ?>
连接postgresql数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = newadoconnection(' postgres '); $conn->connect('host=localhost port=5432 dbname=mydb'); //连接postgresql数据库 ?>
连接mysql数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = newadoconnection('mysql://root:1981427@localhost/test'); //连接mysql数据库 ?>
连接mysql数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = newadoconnection('mysql'); $conn->connect('localhost', 'root', '1981427', 'test'); //连接mysql数据库 ?>
连接access数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = newadoconnection('access'); //连接access数据库 $conn->connect("driver={microsoft access driver (*.mdb)};dbq=d://mydb.mdb;uid=admin;pwd=;"); ?>
连接sql server数据库,通过odbc连接
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn=newadoconnection('odbc_mssql'); //连接sql server数据库 $conn->connect("driver={sql server};server=localhost;database=mydb;",'username','password'); ?>
连接sql server数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn=newadoconnection('mssql'); //连接sql server数据库 $conn->connect("localhost', 'username', 'password', 'mydb'); ?>
连接db2数据库
<?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn=newadoconnection('db2'); //连接db2数据库 $conn->connect("driver={ibm db2 odbc driver};database=mydb;hostname=localhost;port=50000; protocol=tcpip;uid=root; pwd=pass"); ?>
下面来看一个php编程中的实例运用:
首先定义一个数据库连接函数,支持多种不同的数据库,传入一个sql语句,将执行结果返回,代码如下:
public function dbconnect($dbtype,$dbserver,$dbuser,$dbpass,$dbname,$sqlstr) { $strcon; $result; $conn; $output=""; switch($dbtype) { case 0: //sql server //$strcon ="driver={sql server};server=$dbserver;database=$dbname;uid=$dbuser;pwd=$dbpass;"; //创建sql server数据库连接 $conn= &newadoconnection('odbc_mssql'); $conn->connect("driver={sql server};server=".$dbserver.";database=".$dbname.";uid=".$dbuser.";pwd=".$dbpass.";"); break; case 1: //oracle //$strcon ="provider=msdaora.1;data source=$dbserver;password=$dbpass;user id=$dbuser;persist security info=true;"; //创建oracle数据库连接 $conn = &newadoconnection('oci8'); $conn->connect($dbserver,$dbuser,$dbpass); break; case 2: //access //$strcon ="driver={microsoft access driver (*.mdb)};dbq=$dbname;uid=$dbuser;pwd=$dbpass;"; //创建access数据库连接 $conn = &newadoconnection('access'); $conn->connect("driver={microsoft access driver (*.mdb)};dbq=".$dbname.";uid=".$dbuser.";pwd=".$dbpass.";"); break; case 3: //mysql //创建mysql数据库连接 $conn = newadoconnection('mysql'); $conn->connect($dbserver,$dbuser,$dbpass,$dbname); //$conn = &newadoconnection("mysql://".$dbuser.":".$dbpass."@".$dbserver."/".$dbname); break; default: echo "抱歉,暂不支持此数据库,请检查配置的数据库类型!"; die(); break; } //执行查询操作 $result=$conn->execute($sqlstr); //数据库查询失败处理 if ($result==false) { die("查询失败"); } //输出查询结果 while(!$result->eof) { $max=$result->fieldcount(); //$output=array(); for($i=0;$i<$max;$i++) { //echo $result->fields[$i].' '; $res[$i]=$result->fields[$i].' '; $output=$output.$res[$i]; } $result->movenext(); } $output=trim($output); //echo $output; //关闭数据库连接 $conn->close(); return $output; }
定义一个函数,指明需要使用的数据库类型,数据库用户名和密码等,传入sql语句,调用上面定义的数据库连接方法,执行sql语句。
public function executesql($sqlstr) { $dbtype=1; $dbserver="arron"; //数据库用户名,不要使用sys这个超级用户 $dbuser="system"; $dbpass="abcde"; $dbname=""; //$sqlstr="select * from func;"; $myexpectstr=$this->dbconnect($dbtype,$dbserver,$dbuser,$dbpass,$dbname,$sqlstr); return $myexpectstr; } }