我正在創建一個類conn.php,其中我使用相同的用戶和密碼連接到三個數據庫。 conn.php的代碼在下面給出:php中使用類的多個數據庫連接
<?php
/**
* @author Hira Tiwari
* @copyright 2013
*/
class createConnection //create a class for make connection
{
var $host="localhost";
var $username=""; // specify the sever details for mysql
var $password="";
var $database1="";
var $database2="";
var $database3="";
var $myconn;
function connectToDatabase() // create a function for connect database
{
$conn= mysql_connect($this->host,$this->username,$this->password);
if(!$conn)// testing the connection
{
die ("Cannot connect to the database");
}
else
{
$this->myconn = $conn;
}
return $this->myconn;
}
function selectDatabase1() // selecting the database.
{
mysql_select_db($this->database1); //use php inbuild functions for select database
if(mysql_error()) // if error occured display the error message
{
echo "Cannot find the database ".$this->database1;
}
}
function selectDatabase2() // selecting the database.
{
mysql_select_db($this->database2); //use php inbuild functions for select database
if(mysql_error()) // if error occured display the error message
{
echo "Cannot find the database ".$this->database2;
}
}
function selectDatabase3() // selecting the database.
{
mysql_select_db($this->database3); //use php inbuild functions for select database
if(mysql_error()) // if error occured display the error message
{
echo "Cannot find the database ".$this->database3;
}
}
function closeConnection() // close the connection
{
mysql_close($this->myconn);
}
}
?>
我正在這個類在另一個PHP文件的對象從表 包括(conn.php')訪問所述數據;
$connection = new createConnection(); //i created a new object
$connn = $connection->connectToDatabase(); // connected to the database
$connection->selectDatabase1();// closed connection
它不聯機工作(顯示拒絕用戶temptes2_data'@ 'localhost' 的SELECT命令),但在本地主機上正常工作。如果我正在另一個php文件中建立連接並連接到數據庫,那麼工作正常並選擇所有數據。但是如果我在函數conn.php中建立連接,那麼它不起作用。誰能幫我 ?
如果我想它,它做工精細
<?php
$host="localhost";
$username="";
$password="";
$database1="";
$conn= mysql_connect($host,$username,$password) or die(mysql_error());
if(!$conn)// testing the connection
{
die ("Cannot connect to the database");
}
mysql_select_db($database1,$conn) or die(mysql_error());
$query = mysql_query("select * from mptblevent") or die(mysql_error());
while($row = mysql_fetch_array($query))
{
echo $row['even_sid']."<br>";
}
?>
爲什麼不回聲'mysql_error()'看看錯誤是什麼? – andrewsi
不要使用'mysql_ *',它已被棄用。您應該使用'mysqli_ *'或'PDO'。 –
@andrewsi:我用過mysql_error,但沒有顯示任何錯誤。不知道我在哪裏弄錯了。 –