可以连接到数据库,但不会显示表中的数据

时间:2017-03-12 07:02:36

标签: php mysql sql phpmyadmin

我搜索并尝试了几种技术无济于事。我一直在尝试制作一个能够显示数据库信息的表格。我可以成功连接到数据库,但我无法提取任何信息并显示它。有人能告诉我哪里出错了吗?这是我的代码:

<?php

$servername = "localhost";
$username = "";
$password = "";
$dbname = "";


$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = mysql_query("SELECT * FROM siege-leaderboard");
$result = $conn->query($sql);

if ($result->num_rows > 0) {
echo "<table><tr><td>1</td><tdp>2</td><td>3</td><td>4</td><td>5</td></tr>";

while($row = $result->mysql_fetch_assoc()) {
    echo "<tr><td>".$row["1"]."</td><td>".$row["2"]."</td><td>".$row["3"]." 
        </td><td>".$row["4"]."</td><td>".$row["5"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>

我也尝试过:     while($ row = $ result-&gt; fetch_assoc()) 和     while($ row = $ result-&gt; mysql_fetch_array())\ 结果相同。基本上代码说&#34; 0结果&#34;但是表中的信息,所以我不确定发生了什么= /

4 个答案:

答案 0 :(得分:0)

在$ result-&gt; fetch_assoc()中转换$ result-&gt; mysql_fetch_assoc()。

您还可以使用$ result-&gt; fetch_object()处理,以便在打印数据时使用字段名称而不是数组索引。如果您将来更改表格结构,这将简化您的生活。

答案 1 :(得分:0)

$query = "SELECT * from seller";
      $result = mysql_query($query);    
while( $row = mysql_fetch_assoc( $result ) ){
                echo "<tr>
                <td style=\"vertical-align:middle;text-align:center\" >

                <input type=\"submit\" class=\"waves-effect waves-light btn-large blue\" value=\"Edit\" name=\"edit\">
                <input type=\"hidden\" value=\"{$row['id']}\" name=\"sid\">
                </td>   
                <td style=\"vertical-align:middle;text-align:center\" >
                <input type=\"submit\" class=\"waves-effect waves-light btn-large blue\" value=\"Delete\" name=\"delete\">
                <input type=\"hidden\" value=\"{$row['id']}\" name=\"sid\">
                </td>   
                <td>{$row['id']}</td>
                <td>{$row['s_name']}</td>
                <td>{$row['address']}</td>
                <td>{$row['contactnos']}</td>
                <td>{$row['email']}</td>
                <td>{$row['img']}</td>
                </tr>";
              }

这将以表格形式打印整个表格

答案 2 :(得分:0)

这可行:

 $link = mysql_connect("127.0.0.1", "my_user", "my_password", "my_db");
 if($link)
   echo('Connected');
 else
   echo('Connection Failed');

$select = mysql_query("SELECT * FROM table_name");
while($row = mysql_fetch_array($select)){
  echo $row[attribute_1];
  echo $row[attribute_2];
  echo $row[attribute_3];
}

只需在while循环中插入与表数据属性对应的表格设计。 所以在使用mysql_fetch_array()从表中获取所有数据之前,将显示数据。

快乐编码:)

答案 3 :(得分:0)

我对您的代码做了一点改动,所以现在您可以在最后测试它,我希望它能轻松解决您的问题

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

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM siege-leaderboard";
$result = $conn->query($sql) or die($conn->error.__LINE__);

if ($result->num_rows > 0) {
echo "<table><tr><td>1</td><tdp>2</td><td>3</td><td>4</td><td>5</td></tr>";

while($row = $result->fetch_array()) {
    echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[1]." 
        </td><td>".$row[4]."</td><td>".$row[5]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>