2010-06-10 7 views
0

Je n'arrive pas à essayer d'imprimer certaines données d'une table. Je suis nouveau à ce truc mysql php mais je pense que mon code est bon. Le voici:Imprimer les données de la table mysql php

<html> 
<body> 
<h1>Lista de usuários</h1> 
<?php 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="sabs"; // Database name 
$tbl_name="doador"; // Table name 
// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 
$sql="SELECT * FROM $tbl_name"; 
$result=mysql_query($sql); 
while($rows = mysql_fetch_array($result)){ 
    echo $row['id'] . " " .$row['nome'] . " " . $row['sobrenome'] . " " . 
     $row['email'] . " " . $row['login'] . " " . $row['senha'] . " " . 
     $row['idade'] . " ". $row['peso'] . " " . $row['fuma'] . " " . 
     $row['sexo'] . " " . $row['doencas']; 
    echo "<BR/>"; 
} 
mysql_close(); 
?> 

</body> 
</html> 

Toutes les colonnes de la commande echo existent dans ma table dans la base de données. Ne comprenez pas pourquoi cela n'imprime pas ces valeurs.

Répondre

3

Vous avez affecté les données reçues comme $rows, mais vous essayez de sortir la variable $row, qui n'existe pas.

Modifier comme ceci:

while($row = mysql_fetch_array($result)) 
0

Laissez-moi vous donner 2 conseille

  1. Pour découvrir une telle erreur dans l'avenir, tournez toujours le niveau de rapport d'erreurs au maximum en ajoutant error_reporting(E_ALL); dans vos scripts . Dans ce cas, PHP vous dira que la variable $ row n'existe pas.

  2. Envisager de diviser vos scripts en 2 parties: obtenir une partie des données et l'affichage des données partie

comme ceci:

<?php 
error_reporting(E_ALL); 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="sabs"; // Database name 
$tbl_name="doador"; // Table name 
// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 
$sql="SELECT * FROM $tbl_name"; 
$result=mysql_query($sql) or trigger_error(mysql_error().$sql); 
while($row = mysql_fetch_array($result)){ 
    $DATA = $row[]; 
} 
mysql_close(); 
?> 
<html> 
<body> 
<h1>Lista de usuários</h1> 
<table> 
<? foreach($DATA as $row): ?> 
    <tr> 
    <td><?=$row['id']?></td> 
    <td><?=$row['nome']?></td> 
    <td><?=$row['sobrenome']?></td> 
    <td><?=$row['email']?></td> 
    <td><?=$row['login']?></td> 
    <td><?=$row['senha']?></td> 
    <td><?=$row['idade']?></td> 
    <td><?=$row['peso']?></td> 
    <td><?=$row['fuma']?></td> 
    <td><?=$row['sexo']?></td> 
    <td><?=$row['doencas']?></td> 
    </tr> 
<? endforeach ?> 
</table> 
</body> 
</html> 

partie Html peut être mis dans un fichier séparé pour la facilité d'exploitation.
Notez également la fonction trigger_error qui vous aidera à détecter les erreurs SQL

Questions connexes