为什么有 echo out 却出现致命错误 "connect successfully"

Why is there a fatal error although it has echo out "connect successfully"

以下代码是连接数据库和主页的主页的一部分。 mainpage.php

<?php
 
error_reporting(E_ALL);
include_once dirname(__FILE__).'\dbh.php';
session_start() 
?>

这部分代码是数据库与网站的连接。 dhb.php

<?php
$host = "localhost";
$user = "root";
$password = "root";
$dp="ia";
$port=8889;
$link=mysqli_init();
$conn = mysqli_real_connect($link, $host, $user , $password , $dp, $port); 
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
$sql = "SELECT * FROM table player";
$result = $conn-> query($sql);
?>

这张图片是网站告诉我的:

mysqli_real_connect() return 是一个布尔值。它不是 return 有效的 mysqli 对象。您使用 mysqli_init().

创建 mysqli 对象

您使数据库连接过于复杂。只需要三根线就可以正常连接。

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'user', 'pass', 'db');
$mysqli->set_charset('utf8mb4'); // always set the charset

如果您才刚刚开始学习 PHP 那么您应该学习 PDO 而不是 mysqli。 PDO 更容易,更适合初学者。从这里开始 https://phpdelusions.net/pdo & https://websitebeaver.com/php-pdo-prepared-statements-to-prevent-sql-injection