首页 > 数据库 > mysql教程 > 如何在不同的 PHP 类之间正确使用 MySQLi 连接?

如何在不同的 PHP 类之间正确使用 MySQLi 连接?

Patricia Arquette
发布: 2024-11-30 06:26:10
原创
649 人浏览过

How to Properly Use MySQLi Connections Across Different PHP Classes?

在 PHP 中使用另一个类的 MySQLi

从 PHP 5.6 升级到 7.0 时,需要从 MySQL 更新到 MySQLi。但是,这有时会导致设置问题。

问题:

升级到 PHP 7.0 和 MySQLi 后,尝试使用 $this->db 访问数据库连接->conn 会导致内部服务器错误 500,即使直接在类中创建数据库连接也是如此有效。

解决方案:

该错误是由几种不良做法引起的:

  • 从数据库扩展类是不正确的。
  • Database 类本身没有用,因为它不提供任何

要解决此问题:

  1. 消除 Database 类。
  2. 从普通 mysqli 创建单个 $db 实例。
  3. 将此实例作为构造函数参数传递给任何需要数据库的类

示例代码:

// database.php
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');
登录后复制
// myapi.php
class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }
    // ... (rest of the class omitted for brevity)
}
登录后复制
// app.php
require 'vendor/autoload.php'; // assuming autoloading is set up

$api = new MyAPI($db, $request_uri, $postData, $origin);
$user = $api->getUser($_POST['id']);
登录后复制

通过遵循这些指南,您可以在 PHP 中的其他类中成功使用 MySQLi .

以上是如何在不同的 PHP 类之间正确使用 MySQLi 连接?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板