Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
5年前关闭。
亲爱的,我正在尝试创建mysqli db connect类,这是我正在编写的第一个php类,我不知道我做错了什么,请大家纠正我
这是我的
我想这样开始查询
请有人纠正我..请把我想理解的控制流的意见放在这里…说真的我很不舒服
你需要使用
此外,此方法可能不必要,因为您在创建连接时正在选择数据库。
e类
浏览文档,学习各种mysqli方法的OO表示,并用它代替过程函数,这将解决很多问题。
顺便说一句,使用单例对象做得很好。有些人可能强烈反对我的观点,但我认为对于数据库连接管理来说,这是一个很好的方法另一种方法是PDO连接缓存,但是对于像这样的基本方法,单例方法很好。
如果您收到任何其他错误,请留言。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
5年前关闭。
亲爱的,我正在尝试创建mysqli db connect类,这是我正在编写的第一个php类,我不知道我做错了什么,请大家纠正我
这是我的
<?php
class Database
{
private static $m_pInstance; private $link;
private $db_host ='localhost';
private $db_user = 'root';
private $db_pass = 'rootpass';
private $db_name = 'mydb';
private function __construct()
{
$this->link = new mysqli_connect($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
return $this->link;
}
public static function getInstance()
{
if (!self::$m_pInstance)
{
self::$m_pInstance = new Database();
}
return self::$m_pInstance;
}
// here I would like to switch db
public function mydb($query)
{
$this->link->mysqli_select_db($query);
}
// Here I want to run my raw query...
public function query($query)
{
return $this->link->mysqli_query($query);
}
}
?>
我想这样开始查询
$first_class = Database::getInstance();
$result = $first_class -> query("select * from mytable");
请有人纠正我..请把我想理解的控制流的意见放在这里…说真的我很不舒服
$x = $this->somefun($sql)
最佳答案
您正在使用过程实例化方法而不是OO方法来创建连接。记住,当您创建对象(使用new关键字)时,会对该类调用magic\u construct方法。见here
所以不是
$this->link = new mysqli_connect($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
你需要使用
$this->link = new mysqli($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
此外,此方法可能不必要,因为您在创建连接时正在选择数据库。
// here I would like to switch db
public function mydb($query)
{
$this->link->mysqli_select_db($query);
}
e类
浏览文档,学习各种mysqli方法的OO表示,并用它代替过程函数,这将解决很多问题。
顺便说一句,使用单例对象做得很好。有些人可能强烈反对我的观点,但我认为对于数据库连接管理来说,这是一个很好的方法另一种方法是PDO连接缓存,但是对于像这样的基本方法,单例方法很好。
如果您收到任何其他错误,请留言。
关于php - mysqli db connect类不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24713940/
10-15 13:17