最近、同様のコードをここに投稿しましたが、それでも正しく動作しませんでした。スクリプトを書き直そうとしましたが、まだ機能していません。画面の右上隅にグレーのボックスが表示されるだけです。アイデアは、誰かがログインし、これを使用してプロフィール情報を画面に表示するというものです。ユーザー名として使用しているメールアドレスに一致する行からユーザーデータを取得しようとしています。
これは、サイトの技術的な部分を完成させるために必要な最後の作業であるため、どんな助けも大歓迎です。
ありがとう。
<?php # DISPLAY USER DATA/PROFILE
# Access session.
session_start() ;
# Redirect if not logged in.
if ( !isset( $_SESSION[ 'user_id' ] ) ) { require ( 'login_tools.php' ) ; load() ; }
# Set page title and display header section.
$page_title = 'Forum' ;
# Open database connection.
require ( 'connect_db.php' ) ;
# Display body section, retrieving from 'forum' database table.
$q = "SELECT * FROM users WHERE email = {$_SESSION['email']}" ;
$r = mysqli_query( $dbc, $q ) ;
echo '<tr><td>' . $r['first_name'] .' '. $r['last_name'] . '<br>'. $r['email'].'</td> <td>' . '</td><td>' . '</td> </tr>';
# Close database connection.
mysqli_close( $dbc ) ;
?>
*今*
<?php # DISPLAY COMPLETE FORUM PAGE.
# Access session.
session_start() ;
# Redirect if not logged in.
if ( !isset( $_SESSION[ 'user_id' ] ) ) { require ( 'login_tools.php' ) ; load() ; }
# Set page title and display header section.
$page_title = 'Forum' ;
# Open database connection.
require ( 'connect_db.php' ) ;
# Display body section, retrieving from 'forum' database table.
$q = "SELECT * FROM users WHERE email = {$_SESSION['email']}" ;
$r = mysqli_query( $dbc, $q ) ;
$results = $r -> fetchAssoc() ;
echo '<tr><td>' . $results['first_name'] .' '. $r['last_name'] . '<br>'. $r['email'].'</td> <td>' . '</td><td>' . '</td> </tr>';
# Close database connection.
mysqli_close( $dbc ) ;
?>
エラーには、「オブジェクト以外のメンバー関数 fetchAssoc() への呼び出し」が表示されます - 19 行目は、追加した新しい行 $results = $r -> fetchAssoc() です。