我试图从数据库中获取数据,但无法正确显示,
注意:我使用的旧项目文件是我在大学上学期所做的,现在正在工作。但是在新项目上的实施将无法进行。我该如何解决这个问题?该表已显示,但数据未正确提取

我正在使用什么:


记事本+
沼泽


我尝试过的事情:


使用了不同的方法(来自google,stackoverflow,w3school),但没有一种有效
将服务器名称更改为localhost:8082(因为这是我的链接的外观,如http://localhost:8082/phpmyadmin

the results of the code


代码



<?php
$servername = "localhost";
$username = "root";
$password = "somepass";
$dbname = "gamewebsitedatabase";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());

}
$result = $conn->query("select weapon_icon, weapon_name,weapon_type,weapon_rarity from weapons");

?>
<table align="center">
		<tr>
		<th>Image</th>
		<th>Name</th>
		<th>type</th>
		<th>rarity</th>

		</tr>
		<?php

		while($row = mysqli_fetch_array($result)) {
            echo "<tr>";
            echo "<td><img src='".$row['weapon_icon']."' width=199 height=188 />";
            echo "<td>".$row["weapon_name"]."</td>";
            echo "<td>".$row["weapon_type"]."</td>";
		      	echo "<td>".$row["weapon_rarity"]."</td>";



            echo "</table>";
            }
?>

最佳答案

我不确定您的数据库结构;您的服务器必须运行PHP,并且用户必须有权读取数据库;您的环境必须正确设置才能执行。通过在虚拟数据库上稍微修改您的代码,我很快就转储了一些数据:

<?php
$servername = "localhost";
$username = "root";
$password = "somepass";
$dbname = "gamewebsitedatabase";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());

}

$q = "select * from weapons";
$result = $conn->query($q);

?>
<table align="center">
        <tr>
        <th>Image</th>
        <th>Name</th>
        <th>type</th>
        <th>rarity</th>

        </tr>
        <?php

        while($row = $result->fetch_assoc()) {
            echo "<tr>";
            echo "<td><img src='".$row['weapon_icon']."' width=199 height=188 /></td>";
            echo "<td>".$row["weapon_name"]."</td>";
            echo "<td>".$row["weapon_type"]."</td>";
            echo "<td>".$row["weapon_rarity"]."</td>";
            echo "</tr>";
            echo "</table>";
        }
?>


请记住,您正在使用mysqli_fetch_array($ result);。我想将其交换到$ result-> fetch_assoc(),以循环遍历select语句中的关联记录。我还修改了选择以选择环境中的所有(*)。如果您选择特定的列,则可以只选择那些,与您所拥有的并没有太大的区别;

您还具有未关闭的“表格行”标签;我为您修改了适当的结尾;每个结果一行。 :)

结果,您发布的图像看起来好像PHP甚至都无法运行,并且所有内容都是文本形式。只需验证您的PHP版本以及用户和数据库的证书即可。

我在装有PHP5的基于Linux的计算机上运行了该本地主机;如果可以在服务器上运行PHP;您的用户名确实具有读取数据和连接的特权;您应该能够使此代码为您工作。

希望能帮助到你!

关于php - HTML php localhost数据库检索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52173230/

10-12 16:05
查看更多