Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/10/2011, 22h52   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut exécution d'une requête mysql

Bonsoir,

j'ai un souci avec l'exécution d'une requête MySQL. Mon code :
Code :
1
2
3
4
5
6
7
8
$sql="select * from `forum_telepamedia` where ((auteur='".$login."') and (cat='".$cat."')) order by id_forum DESC";
 
 $sql = stripslashes($sql);
 
 $result = mysql_query($sql) or die(mysql_error());
 
//affichage de la requête
...
Le résultat est vide alors qu'il ne l'est pas si je la rentre sans une interface qui exécute les requêtes SQL et pas vide non plus avec une seule des 2 conditions :
Code :
1
2
3
4
5
6
7
8
$sql="select * from `forum_telepamedia` where ((auteur='".$login."')) order by id_forum DESC";
 
 $sql = stripslashes($sql);
 
 $result = mysql_query($sql) or die(mysql_error());
 
//affichage de la requête
...
comment se fait-ce ?
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 23h26   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Bonsoir,

Tu as affiché la requête (echo $sql;), exécuté en base et tu as bien des résultats ?

L'affichage doit être fait juste avant l'exécution (mysql_query($sql)) pour être sûr de récupérer la requête exacte.
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 08h25   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Et oui, voici le code de mon dernier essai :
Code :
1
2
3
4
5
6
7
8
$sql="select * from `forum_telepamedia` where ((auteur='".$login."')) order by id_forum DESC";
// $sql="select * from `forum_telepamedia` where ((auteur='".$login."') and (cat='".$cat."')) order by id_forum DESC";
echo "sql=".$sql;
 
 $sql = stripslashes($sql);
 
 $result = mysql_query($sql) or die(mysql_error());
...
d'où mon incompréhension...

(comme ça, ça marche, mais si je décommente le 2eSQL et que je commente le 1er, ça ne marche plus...)
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 09h41   #4
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Mets ton echo après la fonction stripslashes pour avoir la requête exacte
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 10h22   #5
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

juste pour quelques remarques.

1. Utilises les fonctions mysqli_*
2. Il est préférable d'utiliser les fonctions d'échappement propre à la base de données mysqli_real_escape_string dans ton cas
3. Tu ne dois pas échapper toute la requête mais juste les données utilisateur à inclure dans la requête.

L'ensemble donne :

Code :
1
2
3
4
 
$requete = "select * from `forum_telepamedia` where ((auteur='". mysqli_real_escape_string( $login )."') and (cat='".mysqli_real_escape_string( $cat )."')) order by id_forum DESC";
 
$resultat = mysqli_query( $requete ) or die( mysqli_error() );
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 22h25   #6
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Salut,

merci du conseil, mais il faut aussi une connexion mysqli, pas comme à l'heure actuelle mysql. Et elle ne marche pas ; j'ai créé la fonction suivante :
Code :
1
2
3
4
5
6
7
8
9
 
function connecti()
{
$id_conn=mysqli_connect(MYHOST,MYUSER,MYPASS);
if ($id_conn); else echo "connexion NOK";echo"<br>";
if (!mysqli_select_db("---",$id_conn)) echo "connexion base foirée"; else echo"<br>";
 
return($id_conn);
}
et quand je l'appelle :
Citation:
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /homepages/20/d357470176/htdocs/fr/action_forum/connect.php on line 15
????
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 17h30   #7
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Salut,

tu peux le faire en un coup:

Code :
mysqli_connect( MYHOST, MYUSER, MYPASS, $db_name );
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 10h41   #8
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je n'y comprends rien car hier j'avais tout basculé en mysqli mais ça ne marchait pas, et ce matin, ça marche (sans avoir rien changé dans le code), mais tant mieux.
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h21.


 
 
 
 
Partenaires

Hébergement Web