Afficher le résultat d'une requête SQL
Fermé
Codedu59
-
Modifié par Codedu59 le 22/08/2015 à 11:43
jordane45 Messages postés 37253 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 mars 2023 - 24 août 2015 à 15:20
jordane45 Messages postés 37253 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 mars 2023 - 24 août 2015 à 15:20
A voir également:
- Afficher resultat requete sql php
- Alert php ✓ - Forum PHP
- Blob sql ✓ - Forum Webmastering
- Header php - Astuces et Solutions
- Afficher toutes les tables sql ✓ - Forum Programmation
- Resultat loto d'aujourd'hui ✓ - Forum Excel
4 réponses
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
Modifié par jordane45 le 23/08/2015 à 03:10
Modifié par jordane45 le 23/08/2015 à 03:10
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"
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
22 août 2015 à 14:15
22 août 2015 à 14:15
Bonjour
tu as aussi inverse le WHERE et le FROM dans ta requête.
tu as aussi inverse le WHERE et le FROM dans ta requête.
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
22 août 2015 à 14:27
22 août 2015 à 14:27
Tu peux ajouter la logique de ces 2 lignes :
$sql = mysql_query ("SELECT * WHERE membre FROM login = '".$_SESSION["login"]."' ") ;
$req = mysql_query($sql)
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
22 août 2015 à 16:01
22 août 2015 à 16:01
... c'est bien de cette requête dont je parlais. ..
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
22 août 2015 à 16:21
22 août 2015 à 16:21
Récupérer le résultat d'une requête pour refaire une requête avec ça ne peut pas fonctionner.
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();
}
?>
totoyo47
Messages postés
260
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
30 mars 2020
133
Modifié par totoyo47 le 22/08/2015 à 22:46
Modifié par totoyo47 le 22/08/2015 à 22:46
Tu remplaces :
par, me semble-t-il :
Bien sûr, tu remplaces <nom_de_la_colonne> par le nom du champ de la table membre de ta base sql.
$data = mysql_fetch_array($sql);
par, me semble-t-il :
foreach $sql as $array {
echo $array['<nom_de_la_colonne>'];
}
Bien sûr, tu remplaces <nom_de_la_colonne> par le nom du champ de la table membre de ta base sql.
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
Modifié par jordane45 le 23/08/2015 à 03:13
Modifié par jordane45 le 23/08/2015 à 03:13
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. |
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
23 août 2015 à 13:27
23 août 2015 à 13:27
Une erreur. ... LAQUELLE ??
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
Modifié par jordane45 le 23/08/2015 à 17:12
Modifié par jordane45 le 23/08/2015 à 17:12
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 ();