2017-09-13 6 views
0

私は、このデータベースに挿入されたデータをWebページで表示し、後で修正しようとしています。しかし、データは表示されません。私は間違いをmy previous postから訂正し、トラブルシューティングを試みました。私は、データベースにデータを挿入できるので、データベースへの接続が機能していると思います。データベースからのデータがPHPアプリケーションのテーブルに表示されない

/*top of page invites.php*/ 
<?php 
include("LoginRegistrationSystem/connect.php"); 
include("guestlist.php"); 
include("functions.php"); 
if(logged_in()) 
{ 

?> 

    /*in invites.php*/ 

    <?php 
    $sql = "SELECT fname, lname, email, contact FROM guestlist"; 
    $resultset = mysqli_query($con, $sql) or die("database error:". 
mysqli_error($con)); 

    echo "<table border="2"> 
     <tr> 
     <th>First Name</th> 
     <th>Last Name</th> 
     <th>Contact</th> 
     <th>Invitation</th> 
    </tr>"; 

    while($row = mysqli_fetch_array($resultset)) 
    { 

     echo "<tr>"; 
      echo"<td>" . $row['fname'] . "</td>"; 
      echo"<td>" . $row['lname']. "</td>"; 
      echo"<td>" . $row['email']. "</td>"; 
      echo"<td>" . $row['contact']. "</td>"; 
     echo "<tr>"; 
} 
     echo "</table>"; 
     mysqli_close($con); 
?> 



/*LoginRegistrationSystem/connect.php*/ 
    <?php 

    $con = mysqli_connect("localhost","root","","registration"); 

    if(mysqli_connect_errno()) 
    { 
     echo "Error occured while connecting with database 
".mysqli_connect_errno(); 
     } 

    session_start(); 
?> 
+0

そのコードは 'invites.html'の内部にありますか?これはphpとして解釈されないので、うまくいかないはずです。それ以外の場合、コードは停止しますか? – hogan

+0

私はそれがinvites.phpです。 – alexvin

+0

'' 'でエコーして' ''を使うことはできません。代わりに 'echo '

'でなければなりません。 –

答えて

1

私はスポッティングだ一つの大きな誤差があります。

if(logged_in()) {

、それに合わせて、無閉じ括弧:コードの先頭付近に、あなたは条件があります。あなたのページがまったく読み込まれていない場合、これはおそらく問題です。

これを修正してもテーブルが表示されない場合は、guestlistテーブルにSELECTへのアクセス許可があることを確認してください。それでも、あなたはINSERTをデータベースに入れることができますが、それでもそれをチェックすることは奇妙です。権限エラーは過去に私の頭痛の大きな原因でした。

少しのアドバイスとして、mysqli_fetch_arrayからmysqli_fetch_assocに切り替えることを検討することもできます。これによりプログラムの機能が変更されることはありませんが、mysqli_fetch_arrayの場合、結果は数値的にも関連的にも索引付けされます。同じものであっても$row[0]$row['fname']の両方があります。 mysqli_fetch_assocは、連想配列のみを返します。つまり、戻り値に数値インデックスはありません。

また、コードを正しくインデントする必要があります。読みやすさが大幅に向上し、デバッグにも役立ちます。

+0

こんにちは。私は、<! - End PHP - > elseで終わったと言いました。 assocと配列の明確な説明で疑問を明確にしてくれてありがとう。権限エラーを修正するにはどうすればよいですか? – alexvin

+0

@alexvin一般的なSQL構文は 'GRANT [permission] ON [object] TO [username]'です。 'GRANT'コマンドに関する完全なドキュメントはhttps://docs.microsoft.com/en-us/sql/t-sql/statements/grant-object-permissions-transact-sqlにあります。 MySQL Workbenchにもこのための素晴らしいGUIがあります。 – Plato

+0

大丈夫よ、ありがとう – alexvin

0

これを試してみてください: しばらく($行= mysqli_fetch_assoc($結果セット)){ .... }

関連する問題