PHP-从一个类访问2个不同的数据库

PHP-从一个类访问2个不同的数据库,php,mysql,database,ado,Php,Mysql,Database,Ado,请帮我设置所需的数据库!谢谢大家! <?php require_once("adodb5/adodb.inc.php"); $web = NewAdoConnection("mysqlt"); $server = "*"; $user = "*"; $password = "*"; $database = "web"; $web->Connect($server, $user, $password, $database); $modul = NewAd

请帮我设置所需的数据库!谢谢大家!

<?php
require_once("adodb5/adodb.inc.php");

$web = NewAdoConnection("mysqlt");
$server     = "*";
$user       = "*";
$password   = "*";
$database   = "web";
$web->Connect($server, $user, $password, $database);

$modul = NewAdoConnection("mysqlt");
$server     = "*";
$user       = "*";
$password   = "*";
$database   = "modul";
$modul->Connect($server, $user, $password, $database);

$rs = $web->execute("SELECT DATABASE()");
echo $rs->fields[0];    // EXPECTED: "web", ACTUAL: "modul"
?>

不确定,但我认为您正在寻找_构造函数

编辑:


别提了,我现在更明白你的问题了。看起来你需要使用。具体来说,请看第17部分。也可能有帮助。

在上一次查询中,只需使用$DBM->execute而不是$DB->execute调用即可。但我不确定问题到底是什么??如果在创建$DBM之后,我必须指定数据库,否则我会遇到一个错误:拒绝向用户'web'@'localhost'发送表XY的命令问题是:如何设置默认数据库$DB->web,$DBM->modul,当我从主类获取实例时。我修改了你的问题以消除额外的混乱。我发布的代码产生了与您看到的相同的问题。请参阅下面我的答案以获得可能的解决方案。我不是在寻找构造。我试着做得更好。不过还是要谢谢你!答案比我以前想象的要简单得多,我甚至不需要使用ADOdbmysql\u connect$host、$user、$password$db1=网络$db2=modul;mysql_select_db$db1$rs_from_db1=mysql_query。。。;mysql_select_db$db2$rs_from_db2=mysql_query。。。;嗯,是的,就是这样。我想我认为使用ADOdb有更具体的原因,比如可移植性。我想我应该问这个问题。也许将来我会使用你推荐的。另外,确保你的数据库不受SQL注入的影响。对于来自用户的任何数据,始终使用mysql\u real\u escape\u string$value,或者更好的例子是:mysql\u querysprintfSELECT*from username='%s',mysql\u real\u escape\u string$username;