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();
?>
そのコードは 'invites.html'の内部にありますか?これはphpとして解釈されないので、うまくいかないはずです。それ以外の場合、コードは停止しますか? – hogan
私はそれがinvites.phpです。 – alexvin
'' 'でエコーして' ''を使うことはできません。代わりに 'echo '
答えて
私はスポッティングだ一つの大きな誤差があります。
if(logged_in()) {
、それに合わせて、無閉じ括弧:コードの先頭付近に、あなたは条件があります。あなたのページがまったく読み込まれていない場合、これはおそらく問題です。
これを修正してもテーブルが表示されない場合は、
guestlist
テーブルにSELECT
へのアクセス許可があることを確認してください。それでも、あなたはINSERT
をデータベースに入れることができますが、それでもそれをチェックすることは奇妙です。権限エラーは過去に私の頭痛の大きな原因でした。少しのアドバイスとして、
mysqli_fetch_array
からmysqli_fetch_assoc
に切り替えることを検討することもできます。これによりプログラムの機能が変更されることはありませんが、mysqli_fetch_array
の場合、結果は数値的にも関連的にも索引付けされます。同じものであっても$row[0]
と$row['fname']
の両方があります。mysqli_fetch_assoc
は、連想配列のみを返します。つまり、戻り値に数値インデックスはありません。また、コードを正しくインデントする必要があります。読みやすさが大幅に向上し、デバッグにも役立ちます。
出典
2017-09-13 00:35:38 Plato
こんにちは。私は、<! - End PHP - > elseで終わったと言いました。 assocと配列の明確な説明で疑問を明確にしてくれてありがとう。権限エラーを修正するにはどうすればよいですか? – alexvin
@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
大丈夫よ、ありがとう – alexvin
これを試してみてください: しばらく($行= mysqli_fetch_assoc($結果セット)){ .... }
出典
2017-09-13 00:27:52
関連する問題