8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'avance dans mon apprentissage...

- Ma bdd est construite.
- J'arrive à me connecter à la base
...mais rien ne s'affiche quand je l'interroge.

Voici le code que j'utilise :


<?php
$username = "monusername";
$password = "monmotdepasse*";
$hostname = "monsite";

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";

$sql = "SELECT * FROM `associations`" ;

?>


Pouvez-vous me dire où se trouve l'erreur?

Merci à vous! Smiley biggrin
Bonjour,

Si je ne me trompe pas, là tu as seulement réussi à te connecter à ta base de donnée.

Pour faire une requette, c'est a dire pour interroger la base, il faut par exemple ajouter la ligne de code suivante :


$reponse = $dbhandle->query('SELECT * FROM associations');

A ce moment là, la variable reponse aura pour valeur la reponse à la question posée par query('SELECT * FROM associations').

Maintenant, il faut afficher les résultats par une boucle qui va parcourir la variable reponse :

while ($donnees = $reponse->fetch())
{ //debut de la boucle while
echo $donnees['titre d'une des colonnes de ta base']
?> <!-- fermeture de php-->
</br> <!--retour à la ligne-->
<?php //réouverture de php
} // fin de la boucle while


En esperant t'avoir aidé.
Sinon, il y a ça qui est très bien expliqué : voir ce site !
Bonjour et merci!

J'y vais au fur et à mesure et teste chaque ajout pour voir si j'ai des messages d'erreur.

En ajoutant
$reponse = $dbhandle->query('SELECT * FROM associations');

J'ai l'erreur suivante
Connected to MySQL
Fatal error: Call to a member function query() on a non-object in /var/www/vhosts/eyragues.fr/httpdocs/test_connexion_bdd.php on line 34

A ma ligne 33 (je n'ai rien en ligne 34), j'ai
$reponse = $dbhandle->query('SELECT * FROM associations');
re-bonjour,

Tu devrais essayer la connexion à la base via PDO:

<?php
$username = "monusername";
$password = "monmotdepasse*";
$hostname = "monsite";
$namebase = "lenomdemabase";
// on tente la connexion à la base de donnée
try
 {
  $bdd = new PDO('mysql:host='.$hostname.';dbname='.$namebase.'', $username, $password,);
 }
  catch (Exception $e)
 {
  // En cas d'erreur, on affiche un message et on arrête tout
  die('Erreur : ' . $e->getMessage());
 }
// Si tout va bien, on peut continuer
echo "la connexion a reussie.";
// On récupère tout le contenu de la table associations
$reponse = $bdd->query('SELECT * FROM association');

// On affiche chaque entrée une à une et colonne par colonne
while ($donnees = $reponse->fetch())
{
?>
<p>valeur de la colonne 1 : <?php echo $donnees['nomdelacolonne1']; ?>
valeur de la colonne 2 : <?php echo $donnees['nomdelacolonne2']; ?></p>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>


Essai de voir ce que cela donne, car je ne suis pas sur que tu arrivais a te connecter à la base de donnée.
Ca ne fonctionne pas.
J'ai effectué une correction, car je tentais de me connecter à la table associations.
Le nom de la base est MEYRAGUES

J'ai le message d'erreur
Parse error: syntax error, unexpected ')' in /var/www/vhosts/eyragues.fr/httpdocs/test_connexion_bdd.php on line 33
avec le codes suivant :

Ligne 32 j'ai : {
Ligne 33 j'ai : $bdd = new PDO('mysql:host='.$hostname.';dbname='.$namebase.'', $username, $password,);



<?php
$username = "monusername";
$password = "monmotdepasse";
$hostname = "monsite";
$namebase = "MEYRAGUES";
// on tente la connexion à la base de donnée
try
{
$bdd = new PDO('mysql:host='.$hostname.';dbname='.$namebase.'', $username, $password,);
}
catch (Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : ' . $e->getMessage());
}
// Si tout va bien, on peut continuer
echo "la connexion a reussie.";
// On récupère tout le contenu de la table associations
$reponse = $bdd->query('SELECT * FROM associations');

// On affiche chaque entrée une à une et colonne par colonne
while ($donnees = $reponse->fetch())
{
?>
<p>valeur de la colonne 1 : <?php echo $donnees['nom']; ?>
valeur de la colonne 2 : <?php echo $donnees['adresse_siege']; ?></p>
<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>
Tu peux essayer la connexion sans utiliser les variables :

$bdd = new PDO('mysql:host=monsite;dbname=MEYRAGUES', 'monusername', 'monmotdepasse');