2011-09-16 12 views
1

データベースからのデータの取得に関する問題が1つあります。私はuserrecordに1つのデータベースを作成し、テーブル名はtbl_userです。システムにログインするときにユーザー情報を表示しようとしています。すなわちログされたユーザプロファイルを見る。コードは次のとおりです。データベースからデータを取得するときのPHPの問題

<?php 
    include("auth_user.inc.php"); // authrization page 
    $uname=$_SESSION['user']; // logged user name 
    $connection=mysql_connect("localhost","root"," "); 
    mysql_select_db("userrecord",$connection); 
    $sql=("select * from table_user where uname ='$uname'"); 
    [email protected]_query($sql,$connection); 
    $row=mysql_fetch_array($result); 
?> 
<html> 
    <head> 
     <title>User Account</title> 
    </head> 
    <body bgcolor="#33CCFF"> 
     <br>Your Details Information Is Shown Below:<br><br> 
     First Name:<?php echo $row['fname'];?><br> 
     Last Name:<?php echo $row['lname'];?><br> 
     Address:<?php echo $row['address'];?><br> 
     E-Mail:<?php echo $row['email'];?><br> 
     Gender:<?php echo $row['fname'];?><br> 
     User Name:<?php echo $row['uname'];?><br> 
    </body> 
</html> 

コードecho $ row ["']は、データベースからのレコードを表示していません。

+0

あなたは$エコー場合は、una​​meは、それが期待さrestultsを表示していますか? – thegaffney

+0

var_dump($ row)を試して、何が出力されているかを見てください。これは配列に結果が得られたかどうかを示します。結果が得られれば、データがどのように返され、どのようにアクセスするのかがわかります。 –

+0

また、@をmysql_queryの前に置くということは、クエリにエラーがあった場合は、それが表示されないことを意味します。エラーがあるかどうかを確認するために@を削除します。 – thegaffney

答えて

1

試してみてください。

<?php 
    include("auth_user.inc.php"); // authrization page 
    $uname = $_SESSION['user']; // logged user name 
    $connection = mysql_connect("localhost","root"," ") or die('Could not connect to database: '.mysql_error()); 
    mysql_select_db("userrecord",$connection) or die('Could select database: '.mysql_error()); 
    $sql = "select * from table_user where uname ='$uname'"; 
    $result = mysql_query($sql) or die ('Mysql error: '.mysql_error.' - '.mysql_errno()); 
    $row = mysql_fetch_array($result); 
?> 
0

この@記号の必要はありません:

[email protected]_query($sql,$connection); 

訂正:

$result=mysql_query($sql,$connection); 
+0

これはエラーを止めるために使用できます: '' $ result = mysql_query($ sql、$ connection)or die( 'MySQL接続'); '' –

+1

これは1ビット助けにはなりません。エラー抑制を解除する。 – NullUserException

+0

SQLエラーが原因でコードが機能しない理由がある場合は、エラー抑制を解除すると役立ちます。 – thegaffney

1

、そのテーブル名は、tbl_user

そして、あなたのSQLがtable_userだったのですか?

とにかく、あなたのコードで他の人が間違っているのを見たことはありません。それはタイプミスだった場合は、接続をデバッグし、そして私たちにエラーメッセージを与えることを試みる...

+1

問題があれば良いキャッチ – thegaffney

関連する問題