这可能是一个非常愚蠢的错误,但我试图从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时触发数据库中的所有数据。
我有什么问题吗?我很抱歉,如果这是非常明显的事情,但我无法看到我做错了什么。欢迎任何帮助。
答案 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() ." )");
然后你会没事的