2014-01-15 118 views
-1

我有一個關於php的問題。PHP將代碼添加到新對象

我想知道如何將這段代碼添加到一個新對象中,以便稍後將它添加到現有代碼中並使用它。

<?php 

$mysqli = new mysqli("localhost", "root", "", "kooliasi"); 

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

printf ("System status: %s\n", $mysqli->stat()); 

$mysqli->close(); 


?> 

謝謝!

+0

使一個'db.php'文件,並把這段代碼裏面。後來無論你想要執行數據庫操作,只需將此文件包含爲include_once(「db.php」);' – user2936213

+0

@Marko Paju - 我的答案是否回答你的問題? –

回答

2

做一個類的連接:

class Database{ 
private static $link = null ; 

public static function getConnection () { 
    if (self :: $link) { 
     return self :: $link; 
    } 

    $dsn = "mysql:dbname=social_network;host=localhost"; 
    $user = "user"; 
    $password = "pass"; 

    self :: $link = new PDO($dsn, $user, $password); //OR mysqli - matter of preference 
    return self :: $link; 
} 

}

然後你就可以得到這樣的連接:

Database::getConnection(); 

這是一個單例模式。如果你喜歡,你可以使用它,但很難擴展 - 但是,我認爲它可以滿足你的需求。它需要大量的數據庫加載。

有一個php.ini設置前面加上一個文件到每個腳本 - >http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file

+0

我不知道如何使用它:( –

+0

@MarkoPaju - 創建一個新的.php文件。將類粘貼到那裏,然後將其包含在需要連接的腳本中,然後執行$ db_connection = Database :: get_connection (); $ db_connection-> query(); –

+0

@MarkoPaju請標記爲正確的,如果這解決了您的問題:)謝謝 –

0

您可以創建一個數據庫類,你可以保持連接手柄。根據需要向該類添加功能。例如

class db{ 
    private $link; 
    public function __construct(){ 
     $this->link = mysqli_connect(DB_SERVER, DB_USER, DB_PASS,DB_NAME); 
    } 

    public function __destruct() { 
     mysqli_close($this->link); 
    } 

    public function query($q){ 
     ... add code here for the query 
    } 

} 

然後使用你調用類:

$db = new db(); 
$db->query($parameters_you_want_to_pass);