使用本地主机从 MYSQL 更改为 MYSQLI 无法正常工作


Changing from MYSQL to MYSQLI with localhost doesn't work properly

这可能是一个非常愚蠢的错误,但是我正在尝试从mysql更改为mysqli。

我的连接文件中有以下设置:

$hostname_DB = "localhost";
$database_DB = "dbname";
$username_DB = "username";
$password_DB = "*****";
$DB = mysqli_connect($hostname_DB, $username_DB, $password_DB, $database_DB ); 
$DB = new mysqli($hostname_DB, $username_DB, $password_DB, $database_DB );
if ($DB->connect_error) {
    die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
?>

在我的索引中.php:

<?php $query_AcousticDB = "SELECT * FROM products WHERE Category = 'Acoustic ' ORDER BY RAND()";
$AcousticDB = mysqli_query($DB, $query_AcousticDB) or die(mysqli_connect_error());
$row_AcousticDB = mysqli_fetch_assoc($AcousticDB);
$totalRows_AcousticDB = mysqli_num_rows($AcousticDB);?>
<!doctype html>
</body>
<div id="block2a_title"><?php echo $row_AcousticDB['Model']; ?><?php echo $row_AcousticDB['Color']; ?><?php echo $row_AcousticDB['Category']; ?></div>
<div id="block2a_image"><img src="<?php echo $filepath.$row_AcousticDB['LargeImage1']; ?>"></div>
<div id="block2a_RRP"><?php echo $row_AcousticDB['RRP']; ?></div>
<div id="block2a_Price"><?php echo $row_AcousticDB['AM_price']; ?></div>
</div>
</body
</html>

调用时显示一切正常: localhost/index.php但是,当您只键入localhost时,不会显示数据库中的数据。当使用myqsl方法时,它用于在输入本地主机时触发数据库中的所有数据。

我做错了什么吗?如果这是非常明显的事情,我感到非常抱歉,但我只是看不出我做错了什么。欢迎任何帮助。

在你的代码中,只需删除下面的行

$DB = new mysqli($hostname_DB, $username_DB, $password_DB, $database_DB );

相反,连接文件中的代码应如下所示

$hostname_DB = "localhost";
$database_DB = "dbname";
$username_DB = "username";
$password_DB = "*****";
$DB = mysqli_connect($hostname_DB, $username_DB, $password_DB, $database_DB ) or die("Error : (".mysqli_error() ." )"); 

那你就没事