2017-04-21 7 views
0

私はメイン接続にmysqliを使用していますが、このmysqlを特定のページのadditioal接続に使用します。それは十分に安全ですか?特定のページの追加接続を確立するには

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

最新のphp5では 'mysql' APIが廃止され、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(); 
} 

他の方法も、PHPのバージョンごとにmysqlmysqliです。

// 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エラーを返すことはありません –

関連する問題