2011-09-16 3 views
1

J'ai un problème concernant la récupération des données de la base de données. J'ai créé une base de données dans userrecord et son nom de table est tbl_user. J'essaie d'afficher les informations de l'utilisateur quand ils se connectent au système. Voir le profil utilisateur connecté. Le code est le suivant:problème en php lors de la récupération des données de la base de données

<?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> 

Le [ » « ] echo code $ row n'affiche pas l'enregistrement de base de données.

+0

Si vous echo $ uname ne l'afficher les restults attendus? – thegaffney

+0

Essayez var_dump ($ row) et voyez ce qui est en sortie. Cela vous dira si vous obtenez un résultat dans votre tableau. Si vous obtenez des résultats, vous verrez comment les données sont retournées et comment y accéder. –

+0

aussi mettre @ avant mysql_query signifie que s'il y avait une erreur avec votre requête, vous ne le verriez pas, supprimez le @, si seulement pour un moment pour voir si vous voyez des erreurs – thegaffney

Répondre

1

essayer:

<?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

pas besoin de ce symbole @:

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

Correction:

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

pour l'arrêt d'erreur, il pourrait utiliser: '' $ result = mysql_query ($ sql, $ connection) ou die ('Mysql Connection'); '' –

+1

Cela n'aide pas un peu, parce que tout ce que vous avez fait est supprimer la suppression d'erreur. – NullUserException

+0

si la raison pour laquelle leur code ne fonctionne pas est due à une erreur sql, alors supprimer la suppression d'erreur aidera. – thegaffney

1

et son nom de la table est tbl_user

Et votre SQL était table_user?

De toute façon, je n'ai pas vu d'autres erreurs avec votre code, juste ça. Si c'était une faute de frappe, essayez de déboguer votre connexion, et donnez-nous le message d'erreur ...

+1

bonne prise si c'est le problème – thegaffney

Questions connexes