2010-02-22 8 views
1

cela me rend fou pourquoi ne sont pas les résultats montrant ???php connexion mysql ne montre pas les résultats pourquoi

function runSQL($rsql) { 

    $connect = mysql_connect('localhost','xxx','xxx') or die ("Error: could not connect to database"); 
    $db = mysql_select_db('xxx'); 

    $result = mysql_query($rsql) or die ("Error in query: $query. " . mysql_error()); 

    return $result; 
    mysql_close($connect); 
} 

$rsql = "SELECT * FROM subscriptions WHERE subscriptionID = 6 "; 
runSQL($rsql); 
$row = mysql_fetch_array($result); 
echo $row['subscription']; 
mysql_free_result($result); 
+0

J'ai ajouté le formatage de la source; n'hésitez pas à revenir si vous ne l'aimez pas. – Piskvor

Répondre

3

Vous ne traitez pas votre résultat ...

Vous appelez votre fonction (RunSQL) pour exécuter la requête et renvoie le jeu de résultats, mais vous ne surprenez pas le resultset de travailler avec elle .

Utilisez $result = runSQL($rsql); au lieu de runSQL($rsql);.

Notez également que mysql_close($connect); n'est jamais appelé dans votre code, il est inaccessible car le retour se produit en premier.

+1

Aussi, gardez la connexion à MySQL ouverte, ne pas ouvrir et fermer pour chaque requête. – Piskvor

0

Si vous fermez la connexion avant de faire mysql_fetch_(assoc|array|etc), ces fonctions échoueront probablement. La connexion ne doit pas être fermée jusqu'à ce que vous ayez fini d'interagir avec la base de données, y compris en lisant les données.