首页 > 数据库 > mysql教程 > 如何从 PHP 中的单独类正确访问 MySQLi 连接?

如何从 PHP 中的单独类正确访问 MySQLi 连接?

Patricia Arquette
发布: 2024-12-10 16:22:09
原创
263 人浏览过

How Can I Properly Access a MySQLi Connection from a Separate Class in PHP?

在 PHP 中使用另一个类中的 MySQLi

问题描述:

问题寻求帮助访问在与另一个类不同的单独类中建立的 MySQLi 连接。创建具有连接属性的数据库类,并且 API 类尝试访问此连接。但是,尝试访问连接会导致内部服务器错误。

答案:

不良做法和建议:

所提供的代码包含一些不良做法,这些做法会导致错误:

  • 从数据库类扩展类(用户)是不合适的。
  • 数据库类缺乏基本功能。

建议:

  • 消除 Database 类,因为它没有任何意义目的。
  • 从 vanilla mysqli 创建单个 $db 实例。
  • 将此实例作为构造函数参数传递给需要数据库连接的类。

重构代码:

database.php:

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB");
$db->set_charset('utf8mb4');
登录后复制

m yapi.php:

<?php
class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }

    public function getUser($id)
    {
        $sql = "SELECT * FROM users where>
登录后复制

app.php:

<?php
# require_once 'Database.php';
# require_once 'myapi.php';
require 'vendor/autoload.php'; // autoloading is essential

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

作者遵循这些建议,可以有效且无错误地从另一个类访问 MySQLi 连接。

以上是如何从 PHP 中的单独类正确访问 MySQLi 连接?的详细内容。更多信息请关注PHP中文网其他相关文章!

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