2010-07-31 16 views
-2

Je suis très novice en php et j'essaie de travailler sur les choses à mesure qu'elles se présentent. J'essaie d'afficher la sortie d'une requête sur la page Web. Voici le code.Affichage de la sortie de requête à partir d'un fichier php sur le navigateur; Utilisation de la constante non définie localhost - supposé 'localhost'

<?php 
$username="xxxxxxxxx"; 
$password="xxxxxxxxx"; 
$database="xxxxxxxxx"; 

mysql_connect('localhost',$username,$password); 
@mysql_select_db($database) or die("Unable to select database"); 
$query="SELECT * FROM user"; 

$result = mysql_query ($query) or die(mysql_error()); 
$num=mysql_numrows($result) or die(mysql_error()); 

mysql_close(); 

echo "<b><center>Database Output</center></b><br><br>"; 

$i=0; 
while ($i < $num) { 

$zip=mysql_result($result,$i,"zipcode"); 
$area=mysql_result($result,$i,"area"); 
$city=mysql_result($result,$i,"city"); 

echo "<b>Zip: $zip</b><br>Area: $area<br>City: $city<br><hr><br>"; 

$i++; 
} 
?> 

Le code exécute le fichier sur la fenêtre du terminal. Toutefois, lorsque j'essaie d'exécuter le fichier à partir d'un navigateur, le message d'erreur suivant s'affiche:

Remarque: Utilisation de la constante non définie localhost - supposé 'localhost' dans/users/home/xxxx/web/public/query. php on line 6 Commande SELECT refusée à l'utilisateur 'xxxxxx' @ 'localhost' pour la table 'city'

Pourquoi dit-on que la commande select a été refusée ??

+0

Voir aussi [ma tentative de réponse canonique pour les causes de ce message d'erreur] (http://stackoverflow.com/questions/2941169/what-does-the-php-error-message-notice-use-of- undefined-constant-mean/8025500 # 8025500). –

+0

[** Veuillez ne pas utiliser les fonctions 'mysql_ *' dans le nouveau code **] (http://bit.ly/phpmsql). Ils ne sont plus maintenus [et sont officiellement obsolètes] (https://wiki.php.net/rfc/mysql_deprecation). Voir la [** boîte rouge **] (http://j.mp/Te9zIL)? En savoir plus sur [* instructions préparées *] (http://j.mp/T9hLWi) à la place, et utiliser [PDO] (http://php.net/pdo) ou [MySQLi] (http://php.net/ mysqli) - [cet article] (http://j.mp/QEx8IB) vous aidera à décider lequel. Si vous choisissez PDO, [voici un bon tutoriel] (http://j.mp/PoWehJ). –

Répondre

0

Oui, il a été copié collé. Enfait les citations étaient quelque chose qui a causé le problème. Cependant après les avoir mis, j'ai toujours eu l'erreur et ainsi je l'ai posté ici. Il s'avère qu'il a été résolu après avoir vidé les cookies et l'historique du navigateur !! @lotoffreetime: Thnx pour la réponse. J'aurais pu accepter votre réponse comme solution si elle n'était pas sous un commentaire.

0

Je pense qu'il y a une erreur de syntaxe ici. Résoudre ce premier et essayez à nouveau:

"SELECT * FROM user'"; 

à

"SELECT * FROM user"; 

En outre, il semble que l'utilisateur de base de données n'a pas le privilège de lire la table. Vérifiez les permissions dans phpmyadmin ou quel que soit l'outil d'administration mysql que vous utilisez.

+0

Merci pour la réponse. C'était une faute de frappe en écrivant la question. L'utilisateur DB a des autorisations car, je suis capable de l'exécuter sur mon terminal shell comme "php sql.php". Cela donne le résultat attendu de la table. Je me demande pourquoi je ne peux pas imprimer sur le navigateur et pourquoi cette erreur filaire. – codeObserver

+0

Cet exemple de code est-il copié et collé à partir de la source? L'erreur ressemble à ce qui apparaîtrait si vous n'aviez pas saisi les guillemets autour de 'localhost', c'est-à-dire PHP rencontrant un symbole appelé localhost plutôt qu'une variable ($ localhost) ou une chaîne littérale ("localhost" ou "localhost"). – lotsoffreetime

+0

Oui, il a été copié collé. Enfait les citations étaient quelque chose qui a causé le problème. Cependant après les avoir mis, j'ai toujours eu l'erreur et ainsi je l'ai posté ici. Il s'avère qu'il a été résolu après avoir vidé les cookies et l'historique du navigateur !! @lotoffreetime: Thnx pour la réponse. J'aurais pu accepter votre réponse comme solution si elle n'était pas sous un commentaire. – codeObserver