Problème d'extraction du bdd sur une page php

Eléphant du PHP | 124 Messages

23 juin 2006, 17:36

Bonjour,

Quand je veux ouvrir ma page test.php, ya rien qui s'affiche

Mon code php :
<html>
<head>
<title> test.php </title>

<?php
$link = mysql_connect('serveur', 'nom_bdd', 'mdp');
$db_selected = mysql_select_db('nom_bdd', $link);
$query = sprintf("SELECT * FROM livres_audio WHERE id=1"),
$result = mysql_query($query),
mysql_free_result($result),
?>

</head>
<body>
<?php 
echo $livres_audio->titre 
?>
<br>
<?php 
echo $livres_audio->auteur 
?>
<br>
<?php 
echo $livres_audio->image 
?>
</body>
</html>
Merci
Modifié en dernier par neo765 le 29 mai 2008, 23:36, modifié 1 fois.

Eléphant du PHP | 332 Messages

23 juin 2006, 17:59

Il te manque la ligne qui permet de transférer le résultat de la requête $result dans la variable $livres_audio.

jette un coup d'oeil à http://www.php.net/manual/fr/function.m ... object.php

Eléphant du PHP | 124 Messages

23 juin 2006, 18:38

<?php
$link = mysql_connect('serveur', 'nom_bdd', 'mdp');
$db_selected = mysql_select_db('nom_bdd', $link);
$query = sprintf("SELECT * FROM livres_audio WHERE id=1");
$result = mysql_query($query);
$row = mysql_fetch_object($result);
mysql_free_result($result);
?>
Résulta identique

J'ai ajouté la fonction, mais il faut modifier "$query" "$result" ?

Merci
Modifié en dernier par neo765 le 29 mai 2008, 23:36, modifié 1 fois.

Eléphant du PHP | 332 Messages

24 juin 2006, 09:20

$query, c'est du texte "select ...";
$result, c'est un tableau en mémoire, inutilisable directement, avec le résultat de ta requête
$row, c'est dans ton cas, l'objet qui contient les résultats

Question : Tu stockes le résultat dans $row et tu affiches $livres_audio ?

Eléphant du PHP | 124 Messages

24 juin 2006, 14:52

J'ai dans ma bdd une table qui se nomme livres_audio, celle çi à 4 collones titre ; auteur ; image ; prix

Après je ne suis encore assez à l'aise pour répondre à tes questions, merci de me guider.

Merci
Modifié en dernier par neo765 le 29 mai 2008, 23:37, modifié 1 fois.

Eléphant du PHP | 140 Messages

24 juin 2006, 15:06

J'ai dans ma bdd une table qui se nomme livres_audio, celle çi à 4 collones titre ; auteur ; image ; prix
Après je ne suis encore assez à l'aise pour répondre à tes questions, merci de me guider.
Relis ce qui a ete ecrit plus haut.

Le resultat de ta requete n'est pas dans la variable $livres_audio mais dans la ligne $row... c'est donc son contenu qu'il te faut afficher.

Eléphant du PHP | 124 Messages

24 juin 2006, 15:38

J'ai dans ma bdd une table qui se nomme livres_audio, celle çi à 4 collones titre ; auteur ; image ; prix
Après je ne suis encore assez à l'aise pour répondre à tes questions, merci de me guider.
Relis ce qui a ete ecrit plus haut.

Le resultat de ta requete n'est pas dans la variable $livres_audio mais dans la ligne $row... c'est donc son contenu qu'il te faut afficher.
Ok, mais comment procéder ? Je débute completement dans mysql.

Merci
Modifié en dernier par neo765 le 29 mai 2008, 23:37, modifié 1 fois.

Eléphant du PHP | 140 Messages

24 juin 2006, 19:05

Ok, mais comment procéder ? Je débute completement dans mysql.
Pourquoi est-ce que l'on t'a donne le lien suivant a ton avis ? :roll:
http://www.php.net/manual/fr/function.m ... object.php

Eléphant du PHP | 124 Messages

24 juin 2006, 19:15

mysql_fetch_object ( resource result )
C'est quoi la "resource result", je dois le remplacer par quoi ?
Modifié en dernier par neo765 le 29 mai 2008, 23:37, modifié 1 fois.

Eléphant du PHP | 332 Messages

26 juin 2006, 09:16

C'est quoi la "resource result", je dois le remplacer par quoi ?
Par ... $result, mais tu l'as déjà fait. Oui, ta table s'appelle livres_audio, mais ça c'est dans MySQL. On est dans PHP maintenant.

Relis bien ton code :
$row = mysql_fetch_object($result); 
Tu viens de transférer le résultat de ta requête dans une variable qui s'appelle $row. Où est-ce que tu l'utilises par la suite ? A contrario, tu fais des affichages
echo $livres_audio->titre 
D'où sort cette variable $livres_audio ? Comment a t'elle été initialisée ? N'oublie pas que nous sommes en PHP et pas en MySQL.

Fais le parallèle avec l'exemple qui est sur la page dont je t'ai donné le lien
<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
   echo $row->user_id;
   echo $row->fullname;
}
mysql_free_result($result);
?> 
Modifié en dernier par Henri le 26 juin 2006, 16:30, modifié 3 fois.

Eléphant du PHP | 124 Messages

26 juin 2006, 16:24

Merci beaucoup pour ta réponse,

Il me met :
Parse error: syntax error, unexpected T_STRING in /home/coursdes/www/boutique/test.php on line 10
.

Ligne 10 :
mysql_free_result($result);
--------------------------------------------------------------------------------

J'ai fais le parallele avec le code donné (que j'ai modifié)
while ($row = mysql_fetch_object($result)) {
   echo $row->user_id;
   echo $row->fullname;
} 
par
$row = mysql_fetch_object($result)
Merci