2016-03-27 7 views
-6

現在、私のデータベースに接続するには、これは私のコードです。このコードでmysqliをPHPで使用する方法

<?php 

/** 
* A class file to connect to database 
*/ 
class DB_CONNECT { 

// constructor 
function __construct() { 
    // connecting to database 
    $this->connect(); 
} 

// destructor 
function __destruct() { 
    // closing db connection 
    $this->close(); 
} 

/** 
* Function to connect with database 
*/ 
function connect() { 
    // import database connection variables 
    require_once __DIR__ . '/db_config.php'; 

    // Connecting to mysql database 
    $con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error()); 

    // Selecing database 
    $db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error()); 

    // returing connection cursor 
    return $con; 
} 

/** 
* Function to close db connection 
*/ 
function close() { 
    // closing db connection 
    mysql_close(); 
} 

} 

?> 

db_config.phpはどこか、それは私が多くのstackoverflowの質問に続くが、それでも私は首尾よくそれを行うことができませんでしたmysqliのやPDO を使用するように警告を示し、上記のコードを使用して上の

<?php 

define('DB_USER', "root"); // db user 
define('DB_PASSWORD', ""); // db password (mention your db password here) 
define('DB_DATABASE', "leading10"); // database name 
define('DB_SERVER', "localhost"); // db server 
?> 

です。 私が知っている方法の1つは、mysql_connect()の前に@ symbolを使用することですが、将来は動作しない可能性があります。詳細はリンクが どれヘルプページここ

error_reporting(E_ERROR | E_WARNING | E_PARSE); 

の上に

書き込み、それをエラー報告をオフにする

答えて

-1

それは償却されているmysqlを使用しているために動作していません。すべてのmysqlをmysqliに変更します。これはコードの編集版です。

<?php 

/** 
* A class file to connect to database 
*/ 
class DB_CONNECT { 

// constructor 
function __construct() { 
    // connecting to database 
    $this->connect(); 
} 

// destructor 
function __destruct() { 
    // closing db connection 
    $this->close(); 
} 

/** 
* Function to connect with database 
*/ 
function connect() { 
    // import database connection variables 
    require_once __DIR__ . '/db_config.php'; 

    // Connecting to mysql database 
    $con = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysqli_error()); 

    // Selecing database 
    $db = mysqli_select_db(DB_DATABASE) or die(mysqli_error()); 

    // returing connection cursor 
    return $con; 
} 

/** 
* Function to close db connection 
*/ 
function close() { 
    // closing db connection 
    mysqli_close(); 
} 

} 

?> 
+0

私はこれが理由ではないと確信しています。 –

+0

試しましたか?あなたは最初に試して投票せずに投票しました。 – Ukor

+0

はい、警告が表示されますが、有効な接続が得られます。私が書いたように、これは問題ではありません。私はその問題の正解を掲載しました。 –

-1

mysqlクラスの代わりにmysqlが推奨されなくなったため、エラー報告を設定するとエラーメッセージが表示されます。

1

他の人が既に書いたように、mysqli_*機能を使用する必要があります。しかし、これはあなたの問題ではありません。

ローカル変数である$conに接続を割り当てているため、一旦connect()が終了すると、値が失われます。

このコードは動作します:

class DB_CONNECT 
{ 
    private $connection; 
    private $database; 

    function __construct() { 
     $this->connect(); 
    } 

    function __destruct() { 
     $this->close(); 
    } 

    function connect() { 
     $this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error()); 
     $this->database = mysqli_select_db(DB_DATABASE) or die(mysql_error()); 
    } 

    function close() { 
     mysqli_close($this->connection); 
    } 
} 

注:あなたが二回or die(...)ラインでを持っているあなたのコードで

を。

関連する問題