从 PHP 5.6 升级到 7.0 时,从 MySQL 过渡到 MySQLi 至关重要。这种转变可能会带来挑战,特别是在尝试从不同的类访问 MySQLi 连接时。这个问题强调了这样一种情况,即尝试使用数据库类从 API 类连接到数据库会导致内部服务器错误。
问题的根源在于遵守良好的编程实践。从数据库类扩展用户是不正确的,并且数据库类本身缺乏重要的功能。要解决此错误并改进整体设计,请考虑以下步骤:
database.php <?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = new mysqli("localhost", "DBUserName", "UserPassword", "SelectedDB"); $db->set_charset('utf8mb4');
myapi.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 'vendor/autoload.php'; // autoloading is recommended $api = new MyAPI($db, $request_uri, $postData, $origin); $user = $api->getUser($_POST['id']);
以上是如何从不同的 PHP 类正确访问 MySQLi 数据库连接?的详细内容。更多信息请关注PHP中文网其他相关文章!