以下是一些标题选项,请记住问题格式并重点关注 MySQLi 问题: **直接简洁:** * **为什么我无法从单独的类访问我的 MySQLi 连接?** * **我的S

Barbara Streisand
发布: 2024-10-25 12:52:30
原创
486 人浏览过

Here are a few title options, keeping in mind the question format and focus on the MySQLi issue:

**Direct and Concise:**

* **Why Can't I Access My MySQLi Connection from a Separate Class?**
* **MySQLi Connection Issues: Accessing from a Different Class

如何在 PHP 中使用单独的类中的 MySQLi

简介

从 PHP 升级5.6 到 7.0 需要从 MySQL 切换到 MySQLi,这可能会破坏现有设置。本文解决了尝试从单独的类访问 MySQLi 连接时遇到的问题。

问题

程序员尝试访问在数据库类中创建的 MySQLi 连接从 API 类,调用连接时遇到内部服务器错误 (500)。但是,直接在 API 类中连接解决了该问题。

解决方案

建议的一些更改可以纠正该问题:

  • 消除数据库类:数据库类是多余的,因为它缺乏功能。
  • 创建单个 MySQLi 实例:使用本机 mysqli 类建立单个 MySQLi 实例。
  • 将实例作为参数传递:将 MySQLi 实例作为构造函数参数注入到需要数据库连接的类中。

示例代码:

database.php:

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

myapi.php:

<code class="php">class MyAPI
{
    protected $db;

    public function __construct($db, $request_uri, $postData, $origin)
    {
        $this->db = $db;
    }
}</code>
登录后复制

app.php:

<code class="php">require 'database.php';
require 'myapi.php';

$api = new MyAPI($db, $request_uri, $postData, $origin);</code>
登录后复制

以上是以下是一些标题选项,请记住问题格式并重点关注 MySQLi 问题: **直接简洁:** * **为什么我无法从单独的类访问我的 MySQLi 连接?** * **我的S的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!