CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Problème dans la syntaxe SQL {PDO}

TiKonnar
TiKonnar
Niveau 7
24 novembre 2011 à 18:46:41

Salut jeunes gens :hap:

J'ai un problème pour insérer une variable dans une requête SQL.

Mon code d'origine:

$reponse = $bdd->query('SELECT id, pseudo, titre, contenu, nombre_commentaire, DATE_FORMAT(date_creation, \'%d/%m/%Y %Hh%imin%ss\') AS date_creation FROM billet ORDER BY id DESC LIMIT 0, 6');

Avec la variable:

$reponse = $bdd->prepare('SELECT id, pseudo, titre, contenu, nombre_commentaire, DATE_FORMAT(date_creation, \'%d/%m/%Y %Hh%imin%ss\') AS date_creation FROM billet ORDER BY id DESC LIMIT ?, 6');
$reponse->execute(array($nombre));

Vous avez des idées ? Merci d'avance :)

TiKonnar
TiKonnar
Niveau 7
24 novembre 2011 à 18:47:26

Voici ce que m'affiche SQL:

"Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0', 6' at line 1"

poulemammifere
poulemammifere
Niveau 5
25 novembre 2011 à 07:30:38

ORDER BY ID
Et au lieu de te faire chier à écrire: id,pseudo...fait *

Sinon le problème doit être dans ca = \'%d/%m/%Y %Hh%imin%ss\

Sinon tu peux avoir une réponse sur : https://www.jeuxvideo.com/forums/0-30-0-1-0-1-0-creation-de-sites-web.htm

Aldebran
Aldebran
Niveau 10
25 novembre 2011 à 14:06:35

"Et au lieu de te faire chier à écrire: id,pseudo...fait * "

Il me semble qu'en mettant le * tu récupères tous les champs de ta table, y compris ceux dont tu n'as pas besoin, d'où un temps de traitement bien plus long (négligeable sur les petites tables ou avec un nombre de requête assez faible, mais conséquent sur les plus grosses bases). Ecrire manuellement les noms des champs que l'on veut récupérer est une solution bien plus propre.

Bunyan
Bunyan
Niveau 17
25 novembre 2011 à 18:10:03
  • récupère bel et bien tout les champs.

Si tu as juste besoin de certains champs et que tu ne les utiliseras pas tous, c'est une perte de temps et de ressource (au niveau de la machine, pas du programmeur) que de mettre *.

Drone
Drone
Niveau 10
25 novembre 2011 à 20:49:11

Pourquoi mets tu un "?" dans DESC LIMIT ?, 6'); dans ta variable?

Tu n'en as pas mis dans ton code d'origine.
Je début en SQL, je ne comprends pas.

poulemammifere
poulemammifere
Niveau 5
26 novembre 2011 à 10:24:05

Bah la preuve sue ce n'est pas une petite table ....

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment