gpt4 book ai didi

php - mySQLI管理

转载 作者:行者123 更新时间:2023-11-29 14:37:19 25 4
gpt4 key购买 nike

感谢 SO 的海报,我开始使用 MySQLI 并准备了语句。然而,有一个问题我不确定如何适应我使用 MySQL 的方式。

之前,我会在主 PHP 脚本的开头打开与 MySQL 的连接。然后我使用的任何子脚本或类都会通过调用 mysql_query() 来自动使用相同的连接。

现在,使用 MySQLI,似乎如果我想在类中使用连接,我必须通过构造函数传递连接或创建一个新的 MySQLI 连接。

有没有办法像我之前使用 MySQL 连接一样使用 MySQLI 连接?

保重,李

最佳答案

将连接传递给构造函数通常是更好的方法。那叫"Dependency Injection"对于软件测试很有用。

但是,如果您不想使用该方法,则可以简单地在任何类方法内全局访问该连接:

// MySQLi connection created in the global scope
$conn = new MySQLi(...);

class someClass {
public someMethod() {
// Call $conn with the global keyword
global $conn;

$conn->query(...);
}
}

更好的方法是将 $conn 存储在类属性中:

class someClass {
// Connection property
public $conn;

public function __construct($conn) {
$this->conn = $conn;
}

public someMethod() {
$this->conn->query(...);
}
}

如果您在过程上下文中而不是面向对象中使用 MySQLi,则需要提供链接参数。确实没有办法解决这个问题。

关于php - mySQLI管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8774678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com