Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1195 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Requete sql avec virgules

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Requete sql avec virgules

n°1790599
-tinost@r-
Revers coupé
Posté le 22-09-2008 à 17:28:14  profilanswer
 

Salut  :hello:  
 
Je cherche à inserer des infos utilisateurs dans une base Mysql, dont le contenu d'un champs textarea $details.
J'ai la requête suivante :  
 

Code :
  1. $query = 'INSERT into membres(id,login,details) ';
  2. $query.= 'values(\'\','.$login.','.$details.')';
  3. $insert = mysql_query($query);


j'ai appliqué les htmlentities() à $details
 
Seulement, lorsque $details contient des virgules du style "18 ans, Poker, Sports" , la syntaxe $query se retrouve tronquée à la 1ere virgule, et genere donc une erreur SQL.
 
Quelle est la solution à ce pb ? dois-je utiliser des guillemets plutot que des apostrophes ?
 
merci pour vos reponses.
 
 


---------------
Je sais pas faire de revers coupé
mood
Publicité
Posté le 22-09-2008 à 17:28:14  profilanswer
 

n°1790618
omega2
Posté le 22-09-2008 à 18:11:17  profilanswer
 

T'utilises "mysql_query" donc regarde du côté de "mysql_real_escape_string" qui permet de neutraliser le contenu d'une variable pour mysql.
 
T'aurais utilisé "mysqli_query", je t'aurais renvoyé vers le couple "mysqli_prepare"/"mysqli_stmt_*" qui est encore mieux vu qu'il fait automatiquement la bonne neutralisation en fonction du type de donné qu'on indique.
 
Si c'est disponible, à mes yeux le mieux reste quand même PDO qui permet de passer d'une base de donné à une autre sans avoir à modifier son code (tant qu'on ne fait pas de requête spécifique à une base de donnée) Avec PDO, la bonne solution est alors "PDO::prepare" qui est pour ainsi dire l'équivalent PDO de "mysqli_prepare".
 
EDIT : Rajout des liens, donc : voir documentation de php ou recherche sur le forum pour plus d'infos.


Message édité par omega2 le 22-09-2008 à 18:16:05
n°1790632
-tinost@r-
Revers coupé
Posté le 22-09-2008 à 19:37:06  profilanswer
 

Merci beaucoup pour ton aide :)
 
Je vais me contenter de mysql_real_escape_string.
 
Pour les autres, solutions, ça a l'air un peu plus poussé, moi j'en suis encore resté à la programmation type procédural à l'ancienne quoi :) J'ai un peu peur de l'orienté Objet, j'ai l'impression que c'est ultra compliqué.

n°1790875
omega2
Posté le 23-09-2008 à 12:39:20  profilanswer
 

Je ne sais pas si ça va te rassurer, mais en pratique la programmation objet n'est pas compliqué quand on en a compris les bases.
Par contre, c'est vrai qu'il est généralement plus simple au début de considérer un programme comme une suite d'action.
 
Pour le moment, t'as raison de ne pas chercher à viser trop haut si tu débutes à peine.
 
Pour la solution en mysqli_ , tu peux l'utiliser en procédural si t'as envie et que ces fonctions sont disponible. ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Requete sql avec virgules

 

Sujets relatifs
[PHP + PDF] Insérer un filigranePHP: Une commande pour parcourir un tableau...
Requete SQL avec GROUP BY problemeProblème avec PHP photo module
Requête externe sur résultat de requête externeproblème requête update
Recuperer les informations du formualaire en PHP[PHP] equivalent de super en php
[PHP MYSQL] Recherche table[PHP] noob fonction update
Plus de sujets relatifs à : [PHP] Requete sql avec virgules


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR