bonjoir j rencontre un probleme avec mon code
<?php
session_start()
?>
<!doctype html>
<html lang="fr-FR">
<head>
<title> index </title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width initial-scale=1.0">
<link rel="stylesheet" href="style_index.css">
</head>
<body>
<br />
<br />
<br />
<h1> <?php
echo "bonjour";
$_SESSION['login'] ;
?>
<?php
try {
$connexion = new PDO('mysql:host=localhost;bdname=gestion_stock', 'root', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
$selection=$connexion->query('SELECT* FROM fournisseur');
while ($resultats = $selection->fetch(PDO::FETCH_OBJ))
{
?>
<table align="center" border="2" cellpadding="=10" cellspacing="5">
<tr>
<td>
<?php
echo $resultats['identifiantf'];
?>
</td>
</tr>
</table>
<?php
}
$resultats->closecursor();
?>
</tr>
</table>
</body>
</html>
mon code est cense recuperer les enregistrements de ma bd et les affiche dans un tablo
Fatal error: Call to a member function fetch() on boolean in C:\xampp\htdocs\mes projet\session-bienvenu.php on line 36
Bonjour,
1/ Vous faites un "fetch" en demandant de retourner un objet et non un tableau.
Pour retourner un tableau il vaut mieux ne rien mettre comme paramètre.
2/ Je ne vois pas l'intérêt de faire un tableau dans la boucle pour afficher une seule valeur.
3/ Vous fermez une ligne de tableau et en tableau en fin de code, sans l'avoir ouvert
j ai modifier tout xa carouge xa ne donne pas toujour losk j fais un test sur ma variable connexion elle me dis Erreur : SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
Ce n'est pas bdname
mais dbname
au niveau du constructeur PDO. De plus, essaye de mieux respecter les semantiques, du genre SELECT * FROM fournisseur
. Ensuite, tu demandes à récupérer les entrées sous forme d'objet et tu utilises la syntaxe des tableaux, ce n'est pas cohérant : $resultats->identifiantf
.
<? session_start() ?>
<!DOCTYPE html>
<head>
<title>Titre de la page</title>
<meta charset="utf-8" />
</head>
<body>
<p></p>
<p></p>
<h1><?= "bonjour " . $_SESSION['login'] ?></h1>
<?php
try {
$connexion = new PDO('mysql:host=localhost;dbname=gestion_stock', 'root', '');
} catch(Exception $e) {
// En cas d'erreur, on affiche un message et on arrête tout
die("Erreur : " . $e->getMessage());
}
$selection = $connexion->query('SELECT * FROM fournisseur');
?>
<table align="center" border="2" cellpadding="10" cellspacing="5">
<? while ($resultats = $selection->fetch(PDO::FETCH_OBJ)): ?>
<tr>
<td>
<?= $resultats->identifiantf; ?>
</td>
</tr>
<? endwhile; ?>
</table>
<? $resultats->closecursor(); ?>
</body>