2017-04-04 66 views
1

未做任何php數據庫工作多年,相當簡單的問題我確信任何有經驗的人,下面是我的代碼,它應該從數據庫中獲取所有結果並將它們顯示到表中鏈接:php顯示來自mysql數據庫的結果

<?php 
include('session.php'); 
?> 
<html"> 
<head> 
<title>Welcome </title> 
</head> 
<body> 
    <h1>Welcome <?php echo $login_session; ?></h1> 

    <form method="post" action="upload.php" enctype="multipart/form-data"> 
<p>File:</p> 
<input type="file" name="Filename"> 
<p>Description:</p> 
<textarea rows="10" cols="35" name="Description"></textarea> 
<br/> 
<input TYPE="submit" name="upload" value="Submit"/> 
</form> 

<hr/> 
<p>Uploaded Files</p> 

<?php 
//include('config.php'); 
$query1=mysqli_query($db,"SELECT filepath,filename,description FROM `filedetails`"); 
echo "<table><tr><td>filepath</td><td>filename</td><td></td><td></td>"; 
while($query2=mysql_fetch_array($query1)) 
{ 
echo "<tr><td>".$query2['filepath']."</td>"; 
echo "<td>".$query2['filename']."</td>"; 
echo "<td><a href='edit.php?id=".$query2['id']."'>Edit</a></td>"; 
echo "<td><a href='delete.php?id=".$query2['id']."'>x</a></td><tr>"; 
} 
?> 
<h2><a href = "logout.php">Sign Out</a></h2> 
</body> 
</html> 

所以它的失敗上線是

while($query2=mysql_fetch_array($query1)) 

的錯誤信息是:

警告:mysql_fetch_array()預計參數1是RESOUR ce,在C:\ xampp \ htdocs \ welcome.php 27行上提供的對象

+1

你既混合庫MySQLi('mysqli_query)'和MySQL('mysql_fetch_array')語法。在PHP 5.5中不推薦使用MySQL函數,而在PHP 7中移除**,所以請不要使用它。 –

回答

1

而不是mysql_fetch_array您需要使用mysqli_fetch_array

<?php 
    include('session.php'); 
?> 
<html"> 
    <head> 
     <title>Welcome </title> 
    </head> 
    <body> 
     <h1>Welcome <?php echo $login_session; ?></h1> 

     <form method="post" action="upload.php" enctype="multipart/form-data"> 
      <p>File:</p> 
      <input type="file" name="Filename"> 
      <p>Description:</p> 
      <textarea rows="10" cols="35" name="Description"></textarea> 
      <br/> 
      <input TYPE="submit" name="upload" value="Submit"/> 
     </form> 

     <hr/> 
     <p>Uploaded Files</p> 

     <?php 
      //include('config.php'); 
      $query1=mysqli_query($db,"SELECT filepath,filename,description FROM `filedetails`"); 
      echo "<table><tr><td>filepath</td><td>filename</td><td></td><td></td>"; 
      while($row=mysqli_fetch_array($query1)) 
      { 
       echo "<tr><td>".$row['filepath']."</td>"; 
       echo "<td>".$row['filename']."</td>"; 
       echo "<td><a href='edit.php?id=".$row['id']."'>Edit</a></td>"; 
       echo "<td><a href='delete.php?id=".$row['id']."'>x</a></td><tr>"; 
      } 
     ?> 
     <h2><a href = "logout.php">Sign Out</a></h2> 
    </body> 
</html> 

注:我也將您的變量名稱更改爲更明智的名稱。

1

您的資源是mysqli,您嘗試使用mysql_fetch_array進行處理。嘗試使用mysqli_fetch_array。我認爲這將消除您的問題

$resource = mysqli_query($connection, $queryString); 
if(!mysqli_errno($connection)) { 
    while($resultArray = mysqli_fetch_array($resource)){ 
    print_r($resultArray); // pseudo output for your table 
    } 
} else { 
    echo "error\n" 
    print_r(mysqli_error($connection)) 
} 

而且永遠不要忘記檢查錯誤的查詢

1

錯誤在於mysql和mysqli的連接不匹配。當你使用mysqli_query時,你應該使用mysqli。與錯誤行替換以下行應該做的工作:

mysqli_fetch_array($db,$query1); 
相關問題