PHP MySql无法正确检索数据

PHP MySql无法正确检索数据,php,mysql,mysqli,Php,Mysql,Mysqli,我试图从MySql数据库中检索一个表,但我的代码返回了不正确的数据。下面是我的代码 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "net_trade"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if

我试图从MySql数据库中检索一个表,但我的代码返回了不正确的数据。下面是我的代码

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

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


echo "<link rel='stylesheet' type='text/css' href='style.css'>";

echo "<h1>NET TRADE</h1>";
echo "<div align='center'>";
echo "<ul>";
echo "<li><a class='nav' href='inventory.php'>INVENTORY</a></li>";
echo "<li><a class='nav' href='supplier.php'>SUPPLIER</a></li>";
echo "<li><a class='nav' href='customer.php'>CUSTOMER</a></li>";
echo "<li><a class='nav' href='sales.php'>SALES</a></li>";
echo "</ul>";
echo "</div>";

echo "<form method='POST' action='create_supplier.html'>
      <input type='SUBMIT' class='style19' name='new_item' value='Add New Item'></form>";



echo "<table class='TFtable'>";
echo "<tr>";
echo "<th>ID</th>";
echo "<th>Quantity</th>";
echo "<th>Name</th>";
echo "<th>Brand</th>";
echo "<th>Model</th>";
echo "<th>Serial</th>";
echo "<th>Date Supplied</th>";
echo "<th>Supplier</th>";
echo "</tr>";


$result = mysqli_query($conn, "SELECT * FROM inventory");

if (mysqli_num_rows($result) > 0) {


   while($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
        echo "<tr>";
        echo "<td>".$row['0']."</td>";
        echo "<td>".$row['1']."</td>";
        echo "<td><a href='edit.php?id=".$row['0'].">".$row['2']."</a></td>";
        echo "<td>".$row['3']."</td>";
        echo "<td>".$row['4']."</td>";
        echo "<td>".$row['5']."</td>";
        echo "<td>".$row['6']."</td>";
        echo "<td>".$row['7']."</td>";
        echo "</tr>";
    }
mysqli_free_result($result);
}else {
    echo "0 results";
}
mysqli_close($conn);
echo "</table>";



?>

结果应该是

但是我的代码返回的是这样的东西


结果将跳过数据库表中的一行。。这是我的主要问题

我相信你的代码中这一行搞错了

  echo "<td><a href='edit.php?id=".$row['0'].">".$row['2']."</a></td>";

专业提示:当你的结果很奇怪时,一定要查看源代码。

使用mysqli而不是mysql的道具!但你为什么要重复所有的话?你知道你可以只做
?>你的html删除括号内数字的引号,
['0']
应该是
[0]
在退出
if
条件之前不要释放结果。你返回的和你想要的有什么区别?我看不出有任何显著差异。我建议您使用命名列而不是编号列,例如
$row['id']
而不是
$row[0]
。这在使用
SELECT*
时尤为重要,因为您无法判断列的顺序。结果会从数据库表中跳过一行。。这是我的主要问题。。对不起,谢谢!它成功了哈哈。。我一定收你的小费!再次感谢:)
<td><a href="edit.php?id=12345">asd</a></td>
  <td><a href='edit.php?id=12345>asd</a></td>
 echo sprintf ('<td><a href="edit.php?id=%d>%s</a></td>', $row[0], $row[2]);