2017-04-04 20 views
1

は、年間の任意のPHPのデータベース作業を行っていない、私は以下の経験を持つ人のために確信してかなり単純な疑問は、それがデータベースからすべての結果を取るとして、テーブルにこれらを表示する必要があります私のコードですリンク:PHPの表示結果

警告:

<?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ことを期待しますC:\ xampp \ htdocs \ welcome.php 27行目のオブジェクト。

+1

あなたはMySQLiを( 'mysqli_query)'とMySQL( 'mysql_fetch_array')構文の両方を混合しています。 MySQLの機能はPHP 5.5では廃止され、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);