Variable php dans requete sql
Résolu
Helloween77
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
Helloween77 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Helloween77 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
La requête suivante marche impec quand je test en local, elle me retourne bien ce que je lui demande... Mais une fois mise en ligne la requête ne s'exécute pas correctement ("erreur"). J'en déduis que ça doit être à cause de la variable $pseudo mais j'ai essayé différentes syntaxes et ça ne marche toujours pas :
$pseudo=$_SESSION['pseudo'];
$result=mysql_query("SELECT id,titre FROM FICHES F WHERE F.pseudo= '$pseudo' ORDER BY id desc LIMIT 0,200") or die ('erreur');
Ca fait longtemps que je cherche mais rien à faire, merci d'avance à ceux qui pourrons m'éclairer.
La requête suivante marche impec quand je test en local, elle me retourne bien ce que je lui demande... Mais une fois mise en ligne la requête ne s'exécute pas correctement ("erreur"). J'en déduis que ça doit être à cause de la variable $pseudo mais j'ai essayé différentes syntaxes et ça ne marche toujours pas :
$pseudo=$_SESSION['pseudo'];
$result=mysql_query("SELECT id,titre FROM FICHES F WHERE F.pseudo= '$pseudo' ORDER BY id desc LIMIT 0,200") or die ('erreur');
Ca fait longtemps que je cherche mais rien à faire, merci d'avance à ceux qui pourrons m'éclairer.
A voir également:
- Variable php dans requete sql
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Sql (+) - Forum Programmation
- Php alert ✓ - Forum PHP
4 réponses
Bonjour :)
$result=mysql_query("SELECT id,titre FROM FICHES F WHERE F.pseudo= ' " . $pseudo . " ' ORDER BY id desc LIMIT 0,200") or die ('erreur');
J'ai volontairement mi plein d'espaces pour qu'on distingue bien les " et les '
$result=mysql_query("SELECT id,titre FROM FICHES F WHERE F.pseudo= ' " . $pseudo . " ' ORDER BY id desc LIMIT 0,200") or die ('erreur');
J'ai volontairement mi plein d'espaces pour qu'on distingue bien les " et les '
Bonjour,
Bon tout d'abord, tu as oublié de mettre '. .' autour de ta variable pour qu'elle puisse être reconnue en tant que telle.
Ensuite, as tu essayé avec une requête préparée ?? En général il est grandement conseillé d'éviter de concaténer une variable dans une requête pour des raisons de sécurités évidentes (injection SQL) mais aussi (plus rare) pour des problèmes de compatibilité.
Ecrit plutôt quelque chose du genre :
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$req = $bdd->prepare("SELECT id, titre FROM FICHES WHERE F.pseudo = ? ORDER BY id desc LIMIT 0,200");
$req->execute(array($pseudo']));
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
?>
Bon tout d'abord, tu as oublié de mettre '. .' autour de ta variable pour qu'elle puisse être reconnue en tant que telle.
Ensuite, as tu essayé avec une requête préparée ?? En général il est grandement conseillé d'éviter de concaténer une variable dans une requête pour des raisons de sécurités évidentes (injection SQL) mais aussi (plus rare) pour des problèmes de compatibilité.
Ecrit plutôt quelque chose du genre :
<?php
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$req = $bdd->prepare("SELECT id, titre FROM FICHES WHERE F.pseudo = ? ORDER BY id desc LIMIT 0,200");
$req->execute(array($pseudo']));
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
?>