2012-03-14 3 views
1

Salut tout le monde J'écris actuellement une requête MySQL qui ne retourne rien à l'utilisateur. Qu'est-ce que je fais mal?La requête DB MySQL ne renvoie rien

<?php 
require_once('MDB2.php'); 
include "mysql-connect.php"; 

// connect to database 

$dsn = "mysql://$username:[email protected]$host/$dbName"; 
$db =& MDB2::connect($dsn); 
if (PEAR::isError($db)) { 
    die($db->getMessage()); 
} 
$table_name="room"; 
$db->setFetchMode(MDB2_FETCHMODE_ASSOC); 

// list the rooms details 

$sql = "SELECT * FROM $table_name"; 
$res =& $db->query($sql); 
if (PEAR::isError($res)) { 
    die($res->getMessage()); 
} 

// display results but if no result has been found then we have to let the user know 

if($res->numRows() > 0) 
{ 
    echo "<table border=1> 
    <tr align='left'> 
    <th scope='col'>Name</th> 
    <th scope='col'>Weekend Price</th> 
    <th scope='col'>Weekday Price</th> 
    </tr>"; 
    while($row = $res->fetchRow()); 
    { 
     echo '<tr align="left">'; 
     echo "<td>" . $row['name'] . "</td>"; 
     echo "<td>&pound" . $row['weekend_price'] . "</td>"; 
     echo "<td>&pound" . $row['weekday_price'] . "</td>"; 
     echo "</tr>"; 
    } 
echo "</table>"; 
} 
else 
{ 
    echo "Nothing found."; 
} 
?> 
+0

vous recevez des erreurs? activer le rapport d'erreurs –

+0

Est-ce que c'est juste mes yeux ou que tu utilises php4? –

+0

Aucun rapport d'erreur ... mais rien n'est renvoyé par la requête SQL, c'est-à-dire que la table est vide. J'ai également utilisé les noms de champs corrects. – methuselah

Répondre

3

Retirez le point-virgule de la fin de cette ligne:

while($row = $res->fetchRow()); 

Ce n'est pas entrer dans le contenu de la boucle while en raison de cette demi-virgule.