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