Interrogation BDD et traitement du résultat

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Interrogation BDD et traitement du résultat

par legniarf » 05 mai 2006, 16:48

Ça y est, j'ai réussi, voici mon nouveau code :
<html>
<head>
</head>
<body>
<?php

$db = mysql_connect(localhost, root, password);

mysql_select_db(base_test, $db);

$sql = 'SELECT arrondissement
FROM index_des_rues
WHERE nom_de_la_voie = "place des Abesses"';

$req = mysql_query($sql)
or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

$data = mysql_fetch_array($req);

mysql_free_result ($req);
mysql_close ();

?>

L'arrondissement est :<? echo $data['arrondissement'];?>.
</body>
</html>
Et là, ça marche !

par legniarf » 05 mai 2006, 14:15

Merci, j'ai commencé à regarder ces trois fonctions. Si je n'ai qu'une seule donnée à extraire, est-ce que c'est "mysql_result()" que je dois utiliser plutôt que les deux autres fonctions ?

par Vaedan » 05 mai 2006, 13:37

mysql_query() permet d'exécuter une requête sur le serveur MySQL. Toutefois elle n'en extrait pas les données ! Je te conseille d'aller faire un tour du côté de mysql_fetch_array(), mysql_fetch_row() et mysql_result().

EDIT: correction de S dans le nom des fonctions :lol:

par legniarf » 05 mai 2006, 13:35

OK, du coup j'ai mis des apostrophes et des guillemets :
<html>
<head>
</head>
<body>
<?php

$db = mysql_connect(localhost, root, password);

mysql_select_db(base_test, $db);

$req = 'SELECT arrondissement
FROM index_des_rues
WHERE nom_de_la_voie = "place des Abesses"
LIMIT 1';

$res = mysql_query($req);

echo "L'arrondissement est : $res.";

mysql_close();

?>
</body>
</html>
Mais là le navigateur affiche :
L'arrondissement est : Resource id #3.
Et je ne sais pas ce que signifie ce "Resource id #3".

par Vaedan » 05 mai 2006, 13:18

Il te manque un pti quelquechose !

Code : Tout sélectionner

SELECT arrondissement FROM index_des_rues WHERE nom_de_la_voie = "place des Abesses" LIMIT 1
De simples guillemets :D

Interrogation BDD et traitement du résultat

par legniarf » 05 mai 2006, 12:40

Bonjour,

J'ai une BDD qui est un index des rues de Paris. Je ne sais pas comment l'interroger et comment traiter la réponse.

Par exemple pour afficher dans quel arrondissement se trouve la place des Abesses, voici comment je m'y prends :
<html>
<head>
</head>
<body>
<?php

$db = mysql_connect(localhost, root, password);

mysql_select_db(base_test, $db);

$req = "SELECT arrondissement
FROM index_des_rues
WHERE nom_de_la_voie = place des Abesses";

$res = mysql_query($req);

echo "L'arrondissement est : $res.";

mysql_close();

?>
</body>
</html>
Mon navigateur affiche alors :
L'arrondissement est : .
Comme je n'ai qu'un seul résultat à afficher, je me disais que je n'avais pas besoin de faire une boucle avec while comme je le vois sur les différents tutoriaux que j'ai consulté sur le web.