2017-04-21 18 views
0

我已經準備好使用mysqli作爲主連接,但在特定頁面上使用此mysql作爲附加連接。它很好嗎?爲特定頁面建立額外連接

class DBController { 
private $host = "localhost"; 
private $user = "root"; 
private $password = ""; 
private $database = "blog_samples"; 

function __construct() { 
    $conn = $this->connectDB(); 
    if(!empty($conn)) { 
     $this->selectDB($conn); 
    } 
} 

function connectDB() { 
    $conn = mysql_connect($this->host,$this->user,$this->password); 
    return $conn; 
} 

是不是很好&不夠安全?有沒有更好的方法來做到這一點?請解釋我的優勢。在此先感謝

+2

這已經很糟糕,因爲'mysql' api在最新的php5中被棄用,並且在php7中被刪除。並且你__必須忘掉它並使用'mysqli'或'PDO'。 –

+0

如前所述,停止使用mysql並改用mysqli或PDO。此外,你應該檢查連接是否成功,並返回一些錯誤。使用try/catch。 – Twinfriends

回答

0

您可以使用pdo方法進行連接和檢查。

try { 
    $conn = new PDO('mysql:host=localhost;dbname=database_name', $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch(PDOException $e) { 
    echo 'ERROR: ' . $e->getMessage(); 
} 

其他方法也是mysqlmysqli按你的PHP版本。

// Try and connect to the database 
$connection = mysqli_connect('localhost',$username,$password,$dbname); 

// If connection was not successful, handle the error 
if($connection === false) { 
    // Handle error - notify administrator, log to a file, show an error screen, etc. 
} 
+0

謝謝,看起來不錯,但我已經使用mysqli爲我的主要連接。而我只用於在特定頁面上連接秒的mysql。我錯了嗎? –

+0

是的,你可以使用私人連接進行特定的頁面和查詢,但是你應該檢查你的php版本並且查詢你在查詢中通過了哪個連接。你有各種靈活性。 –

+0

從不迴應PHP錯誤 –