8791 sujets

Développement web côté serveur, CMS

Salut,

Je suis grand débutant sur PHP, et voici quelque chose que je n'arrive pas à trouver le ce que je ne fais pas bien dans mon code.
En fait je veux que les données de ma table ("table_test") s'affiche sur la page de mon navigateur.
Mais à la place c'est le nombre de ligne de ma table qui apparait sous la forme #4 au lieu de son contenu.

Voici mon code, merci à tous ceux qui pourront me venir en aide :
?php
$serveur='localhost';
$user='root';
$pass= '';
$base='test';
$connexion = mysql_connect($serveur,$user,$pass) or die ('ERREUR'.msql_error());
mysql_select_db($base,$connexion);

$str_sql='SELECT * FROM table_test';
$resultat= mysql_query($str_sql,$connexion );
while($donnee= mysql_fetch_row($resultat))
{
echo $donnee[0];
echo $donnee[1];
echo $donnee[2];
echo $donnee[3];
}
mysql_free_result($resultat);

?>

puis dans mon body

<?php
echo $resultat;
?>
salut...

oui c'est du grand débutant... et c'est pas un problème avec ta table c'est dès le départ un problème de compréhension du PHP

sans te faire un cours complet, renseigne toi sur ce qu'est une variable et ce que fait echo...

donc $resultat c'est une variable qui contient un "objet" qui se trouve être le résultat BRUT de ta requète.

tu remarquera juste en dessous un bout de code qui est là pour traiter ce résultat via "mysql_fetch_row"

echo est une fonction qui permet d'envoyer des données vers la sortie écran... en gros d'écrire quelque chose de lisible..

echo "Hello world"; par exemple qui mettra Hello world sur l'écran Smiley smile

Oui ça reste de la programmation Smiley lol


je te dis ton erreur et tu cherche la solution tout seul Smiley cligne

tu veux envoyer à l'écran ce que contient la variable $resultat...


Bon en revanche soit ta table est vide enfin très exactement ne contient aucune données, soit tu ne nous as pas mis tout ton code...

Mais il est tout à fait normal que ce que tu lis soit #4 (c'est le numéro de la ressource mysql qui contient le résultat de ta requète)
Modérateur
Et l'eau,

@pchlj : +1

Le #4 prouve que tout se passe bien. Mais qu'en est il s'il y a un souci ? Bien que die() ne soit pas une bonne pratique, je t'invite à implémanter un die() pour le moment après :
* mysql_connect(...) or die('un message erreur lié à la connection'.msql_error());
* mysql_select_db(...) or die('un message erreur lié à la sélection de la BDD'.msql_error());
* mysql_query(...) or die('un message erreur lié à la requête'.msql_error());

Lorsque tu consulteras Mysql et qu'il y aura un souci, tu seras d'où provient l'erreur.

Je t'invite à parcourir ce site : http://www.phpdebutant.org/. Il va beaucoup t'aider.

Dernière petite chose : n'hésite pas à aller sur php.net. La doc est très bien faite. Lorsque tu ne connais pas une fonction ou autre chose, la doc va souvent remplir tes attentes. Aussi, tu éviteras les RTFM sur les forums.... Par contre, si tu ne comprends pas quelque chose dans la doc, tu peux poser une question dans le forum. Mais cela prouvera que tu as fait des recherches en amont de ta question.

nb :
1.

$serveur='localhost';
$user='root';
$pass= '';
$base='test';


tu devrais plutôt faire ceci :

define('SERVEUR','localhost');
define('USER','root');
define('PASS','');
define('BASE','maBase');

2. petit rappel de la charte du forum
Modifié par niuxe (04 Mar 2012 - 11:47)