【发布时间】:2016-02-12 06:12:19
【问题描述】:
让我解释一下我要做什么。
- 我制作了一个 db.config.php 文件,其中包含所有数据库详细信息并建立了连接。
- 我制作了另一个 db.connect.php 文件,它只通过调用函数在 db.config 文件中建立连接来建立连接,因此两个文件之间的唯一区别是 db.config.php 包含连接信息,如dbname 等,而 db.connect.php 没有。
- 我想要做的是,现在我需要连接到数据库的任何地方都应该使用 db.connect.php 文件来完成。
- 我正在做的事情是否安全且是正确的做事方式?
-
代码如下
db.config.php
<?php class Database{ private $DB_host = 'localhost'; private $DB_name = 'db_pdo'; private $DB_user = 'root'; private $DB_pass = 'secret'; public $conn; public function makeConnection(){ $this->conn = null; try{ $this->conn = new PDO("mysql:host=".$this->DB_host.";dbname=".$this->DB_name,$this->DB_user,$this->DB_pass); } catch(PDOException $e){ echo "Connection error:- ".$e->getMessage(); } return $this->conn; }}
db.connect.php
<?php
include_once 'db.config.php';
class Connect{
public $database;
public $db;
public function __construct()
{
$database = new Database();
$db = $database->makeConnection();
if($db){
return $db;
}
else{
echo "Connection Failed";
}
}
}
现在我想要的是假设我用 Class 说 Test 创建一个新的 PHP 文件, 如何仅使用 db.connect.php 文件进行连接?
这真的像我被告知的那样为应用程序增加了额外的安全级别吗?
另外,如果我正在做的事情是不必要的,请告诉我。 谢谢。
【问题讨论】:
-
与什么相关的额外安全性?仍然可以从任何其他脚本中访问数据库凭据(无论如何这 afaik 是不可避免的)。
标签: php mysql database oop pdo