dbuser1="user1"; -6ren">
gpt4 book ai didi

php - 如何在 PHP 中使用类连接两个 Mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 18:03:05 24 4
gpt4 key购买 nike

我正在使用面向对象的 PHP。为了连接同一主机中的两个数据库,我使用这样的代码

<?php
class ConOs{
var $dbhost1;
var $dbuser1;
var $dbpass1;
var $dbhost2;
var $dbuser2;
var $dbpass2;

function __construct() {

}
function connect(){
$this->dbhost1="localhost";
$this->dbuser1="user1";
$this->dbpass1="db1";
$this->dbhost2="localhost";
$this->dbuser2="user2";
$this->dbpass2="db2";

$conn1 = mysql_connect($this->dbhost1, $this->dbuser1, $this->dbpass1);
if(! $conn1 ){die('Could not connect: ' . mysql_error());}
mysql_select_db("db1",$conn1);


$conn2 = mysql_connect($this->dbhost2, $this->dbuser2, $this->dbpass2, True);
if(! $conn2 ){die('Could not connect: ' . mysql_error());}
mysql_select_db("db2", $conn2);


mysql_error();
}
}
?>

但是 $conn1 总是拒绝。只有 $conn2 有效。如果我把 $conn2 首先,那么只有 $conn1 有效。如何连接数据库 db1 和 db2?

最佳答案

亲爱的停止使用 mysql_* 函数:使用 PDO :

class sujet{
private $id;

public function connect(){
try {
$bdd = new PDO('mysql:host=localhost;dbname=dev_bdd', 'root', '');
}catch(Exception $e){
die('Failed'. $e->getMessage());
}
return $bdd;
}
public function connect2(){
try {
$bdd = new PDO('mysql:host=localhost;dbname=teamd2', 'root', '');
}catch(Exception $e){
die('Failed'. $e->getMessage());
}
return $bdd;
}
public function __construct(){}
public function recherche($search){
$resultats = array();
$req = $this->connect2()->prepare('SELECT * FROM sujets WHERE libelle like :search ');
$req->execute(array(
'search' => '%'.$search.'%',
));
while($resultat = $req->fetch()){
array_push($resultats,$resultat);
}
print_r($resultats);
return $resultats;
}
private function queryMatiere(int $id){
$requete = $this->connect()->query("SELECT libelle FROM matieres where id=$id");
$data = $requete->fetch();
return $data['libelle'];
}
}

关于php - 如何在 PHP 中使用类连接两个 Mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48153716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com