选择要运行的数据库连接



所以我的项目中有我的数据库连接。该文件有一个本地请求和一个在线请求,当我在localhost上工作时,其中一个请求被注释掉了。

php中有没有一种方法可以让它查找必须使用的方法?

比如如果url=localhost/bblabla使用本地,其他人在线使用?

这是连接。

try{
//local connection
$db = new PDO('mysql:host = 127.0.0.1; dbname=XXXX', 'root','');
//local online
//$db = new PDO('mysql:host = XXXXX; dbname=XXXXX', 'xxxxx','*****');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo $e->getMessage();
die();
}
$db->exec("set names utf8");
if (session_status() == PHP_SESSION_NONE) {
session_start();
}

如果可能的话,希望有人能帮忙,谢谢

您不应该检查URL,而应该设置config file。然后在服务器上的0上设置DEVELOPMENT,如果您是本地用户,则在1上设置。

config.php

<?php
define('DEVELOPMENT', 1);
?>

database.php

<?php
if(DEVELOPMENT) {
// setup your local DB
} else {
// setup your live db
}
?>

您可以通过$_SERVER变量了解IP,因此:

define('LOCALHOST', 'XX.XX.XX.XX');
if($_SERVER["REMOTE_ADDR"] == LOCALHOST)
{
//open connection to the localhost users db
$db = new PDO('mysql:host = 127.0.0.1; dbname=XXXX', 'root','');
}else{
//open connection to rest of users db
$db = new PDO('whatever', 'root','');
}

这样做,将db.php上传到服务器后,将其放在自己的文件夹中,然后更改用户权限,使其无法用本地连接覆盖

最新更新