2014-01-15 80 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);