使用localhost从MYSQL更改为MYSQLI无法正常工作

时间:2015-02-10 13:08:07

标签: php mysql mysqli

这可能是一个非常愚蠢的错误,但我试图从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);
}
?>

在我的index.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方法时,它只是在输入localhost时触发数据库中的所有数据。

我有什么问题吗?我很抱歉,如果这是非常明显的事情,但我无法看到我做错了什么。欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

在您的代码中,只需删除

下面的行
$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() ." )"); 

然后你会没事的