gpt4 book ai didi

php - 使用 PHP 和 MySQL 连接多个数据库

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:02 29 4
gpt4 key购买 nike

我们有多个数据库,我们需要将所有数据库连接在一起。我们正在使用关系表来回交谈。多个数据库将帮助我们单独备份项目或版本。

注册数据库:用户登录
项目数据库:登录用户下的项目数。
版本库:选中Project下的版本数

问题
因为我们使用的是 01,所以一次只能有一个用户连接到数据库。我们需要的就像下面流程图中的那个。多个用户可以连接到数据库并处理不同的项目 > 不同的版本。

谢谢!

旁注:我们愿意尝试不同的方法

enter image description here

<?php
//database error message
$connect_error='We could not able to connect. Please try later';

// Registration table
$main = mysql_connect('localhost','root','',true) or die($connect_error);
mysql_select_db('registration-table', $main) ;

// Obtaining session id
if(isset($_SESSION['id'])===true){
$session = $_SESSION['id'];

// Filtering projects based on 0 and 1
$sql = mysql_query("SELECT * FROM project1_table where user_id = '$session' and database_active = '0'",$main);
$row = mysql_fetch_array($sql);

// Each Project has Versions
$project_id = $row['id'];
$sqli = mysql_query("SELECT * FROM version_table where project_id = '$project_id' and database_active ='0'",$main);
$emp = mysql_fetch_array($sqli);

// Fetching the database name
$db_name = $emp['database_name'];
$sub = mysql_connect('localhost','root','',true) or die($connect_error);
mysql_select_db("$db_name", $sub) ;
}
?>

最佳答案

首先,我建议您使用 mysqliPDO除了 mysql 之外,因为 PHP 5.5 版本后 mysql 函数被弃用,因此以后将无法使用 mysql 函数

Mysql中的多数据库连接

$dbh1 = mysql_connect($hostname, $username, $password); 
$dbh2 = mysql_connect($hostname, $username, $password, true);

mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);

mysql_query('select * from tablename', $dbh1);
mysql_query('select * from tablename', $dbh2);

使用Mysqli多连接

$link1 = new mysqli($hostname, $username, $password,$database1);
$link2 = new mysqli($hostname, $username, $password,$database2);

mysqli_query($link1,"SELECT * FROM table");
mysqli_query($link2,"SELECT * FROM table");

PDO 中的多数据库连接

$conn1 = new PDO("mysql:host=$hostname;dbname=database1", $username, $password);
$conn2 = new PDO("mysql:host=$hostname;dbname=database1", $username, $password);

$conn1->query("SELECT * FROM table");
$conn1->query("SELECT * FROM table");

关于php - 使用 PHP 和 MySQL 连接多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910664/

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