PHP将代码添加到新对象

时间:2014-01-15 09:48:26

标签: php mysqli

我对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();


?>

谢谢!

2 个答案:

答案 0 :(得分: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设置 - &gt; http://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file

答案 1 :(得分:0)

您可以创建一个db类,您可以在其中保留连接句柄。根据需要向类添加函数。例如

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);