Afficher le résultat d'une requête SQL
Codedu59
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour!
Je n'arrive pas à afficher les données de ma base de données... Quand je veux que le résultat de ce code PHP s'affiche:
Avec cette variable là:
La page s'affiche normalement mais hélas, le login lui ne s'affiche pas.
Pourriez-vous m'aider?
Merci!
Je n'arrive pas à afficher les données de ma base de données... Quand je veux que le résultat de ce code PHP s'affiche:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: ***');
exit();
include ('connexionBDD.php');
$base = mysql_connect ('***', '***', '***');
mysql_select_db ('***', $base);
// on crée la requete SQL
$sql = mysql_query ("SELECT * WHERE membre FROM login = '".$_SESSION["login"]."' ") ;
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result ($req);
mysql_close ();
}
?>
Avec cette variable là:
Bienvenue <?php echo $data['login']; ?>
La page s'affiche normalement mais hélas, le login lui ne s'affiche pas.
Pourriez-vous m'aider?
Merci!
A voir également:
- Afficher résultat requête sql php pdo
- Resultat foot - Télécharger - Vie quotidienne
- Afficher appdata - Guide
- Lexer resultat - Télécharger - Sport
- Afficher taille dossier windows - Guide
- Windows 11 afficher d'autres options - Guide
4 réponses
Déjà ta condition :
Arrête ton script PHP au exit(); Donc, tu ne passe pas dans le reste du code.
Ensuite,
Il n'y a pas redondance ?
Petit rappel, l'extension mysql est obsolète
J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
if (!isset($_SESSION['login'])) {
Arrête ton script PHP au exit(); Donc, tu ne passe pas dans le reste du code.
Ensuite,
include ('connexionBDD.php');
$base = mysql_connect ('***', '***', '***');
Il n'y a pas redondance ?
Petit rappel, l'extension mysql est obsolète
J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
J'ai changé le code en fonction de ce que vous m'avez dit mais je ne trouve pas l'erreur car toujours rien ne s'affiche
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: ***');
$base = mysql_connect ('***', '***', '***');
mysql_select_db ('***', $base);
$sql = mysql_query ("SELECT * FROM membre WHERE login = '".$_SESSION["login"]."' ") or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($sql);
mysql_free_result ($data);
mysql_close ();
exit();
}
?>
Bon...
voici le code corrigé :
Par contre.... comme déjà dit auparavent.. tu utilises l'ancienne extension mysql... il serait préférable que tu passes à mysqli_* ou (je préfère...) la PDO.
Merci de lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
.
EDIT : Ajout de la vérification sur le résultat de la requête avant d'afficher le "bonjour.."
Cordialement,
Jordane
voici le code corrigé :
<?php
//Démarrage "propre" des sessions :
if(session_id() == '') {
session_start();
}
//---------------------------------
//Connexion à la BDD
//---------------------------------
require_once 'connexionBDD.php';
//---------------------------------
//Récupération "propre" des variables
//---------------------------------
$Session_login = !empty($_SESSION['login'])?$_SESSION['login']:NULL;
if ($Session_login) {
//---------------------------------
// récupération des informations du user
//---------------------------------
//on met la requête dans une variable ($sql)
$sql = "SELECT * FROM membre WHERE login = '$Session_login' ";
// on execute la requete :
$resultat = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// retourne un tableau qui contient la première ligne de $resultat
$data = mysql_fetch_array($resultat);
mysql_free_result ($data);
mysql_close ();
}else{
//---------------------------------
//redirection si non connecté
//---------------------------------
header ('Location: ***');
exit();
}
?>
<!-- Le reste de ton code .. par exemple : -->
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>TEST</title>
</head>
<body>
<?php
if(count($data)>0){
// si la requête a retourné un résultat
echo " Bienvenue ".$data['login']:
}
?>
</body>
</html>
Par contre.... comme déjà dit auparavent.. tu utilises l'ancienne extension mysql... il serait préférable que tu passes à mysqli_* ou (je préfère...) la PDO.
Merci de lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli
.
EDIT : Ajout de la vérification sur le résultat de la requête avant d'afficher le "bonjour.."
Cordialement,
Jordane
Avec ce code:
Il y a toujours un problème vu que le login ne s'affiche pas et une erreur s'affiche:
Warning: mysql_free_result() expects parameter 1 to be resource, array given in *** on line 31
<?php
//Démarrage "propre" des sessions :
if(session_id() == '') {
session_start();
}
//---------------------------------
//Connexion à la BDD
//---------------------------------
require_once ('connexionBDD.php');
//---------------------------------
//Récupération "propre" des variables
//---------------------------------
$Session_login = !empty($_SESSION['login'])?$_SESSION['login']:NULL;
if ($Session_login) {
//---------------------------------
// récupération des informations du user
//---------------------------------
//on met la requête dans une variable ($sql)
$sql = "SELECT * FROM membre WHERE login = '$Session_login' ";
// on execute la requete :
$resultat = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// retourne un tableau qui contient la première ligne de $resultat
$data = mysql_fetch_array($resultat);
mysql_free_result ($data);
mysql_close ();
}
else{
//---------------------------------
//redirection si non connecté
//---------------------------------
header ('Location: ***');
exit();
}
?>
Il y a toujours un problème vu que le login ne s'affiche pas et une erreur s'affiche:
Warning: mysql_free_result() expects parameter 1 to be resource, array given in *** on line 31
| EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
Oui en effet.. j'ai bêtement copié ton code....
Modifie comme ceci :
Modifie comme ceci :
// on execute la requete :
$resultat = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// retourne un tableau qui contient la première ligne de $resultat
$data = mysql_fetch_array($resultat);
mysql_free_result($resultat);
mysql_close ();