Publicité
+ Répondre à la discussion Actualité déjà publiée
Page 4 sur 4 PremièrePremière 1234
Affichage des résultats 61 à 72 sur 72
  1. #61
    Membre régulier
    Inscrit en
    avril 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : avril 2003
    Messages : 361
    Points : 84
    Points
    84

    Par défaut

    Oké merci , ça me rassure.

  2. #62
    Membre Expert Avatar de beegees
    Homme Profil pro David Non communiqué
    Développeur Web
    Inscrit en
    mars 2004
    Messages
    3 422
    Détails du profil
    Informations personnelles :
    Nom : Homme David Non communiqué
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2004
    Messages : 3 422
    Points : 1 264
    Points
    1 264

    Par défaut

    Bonjour,

    Je trouve que c'est un bon tuto qui va beaucoup m'aider dans mon apprentissage.

    Merci.

    beegees

  3. #63
    Membre expérimenté
    Avatar de FMaz
    Inscrit en
    mars 2005
    Messages
    649
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 649
    Points : 527
    Points
    527

    Par défaut

    Citation Envoyé par beegees Voir le message
    Bonjour,

    Je trouve que c'est un bon tuto qui va beaucoup m'aider dans mon apprentissage.

    Merci.

    beegees

    Me voilà heureux alors ! Bonne route !

  4. #64
    Nouveau Membre du Club
    Homme Profil pro Bilal Asli
    Ingénieur qualité méthodes
    Inscrit en
    avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Nom : Homme Bilal Asli
    Âge : 25
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : avril 2011
    Messages : 48
    Points : 35
    Points
    35

    Par défaut coquille

    Bonjour,

    Il me semble avoir vu une petite faute dans l'instanciation de la connexion.
    Code :
    $pdo = new PDO($connStr, 'Utilisateur', 'Mot de passe', $arrExtraParam);
    au lieu de :
    Code :
    $pdo = new PDO($strConnection, 'Utilisateur', 'Mot de passe', $arrExtraParam);
    Sinon merci pour ce tuto,
    Bilal

  5. #65
    Membre émérite Avatar de redoran
    Homme Profil pro Redouane Hamadouche
    Développeur-Amateur
    Inscrit en
    juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Nom : Homme Redouane Hamadouche
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : juin 2010
    Messages : 1 346
    Points : 995
    Points
    995

    Par défaut

    L'article à été écris pour être une base d'apprentissage saine à PDO. J'ai donc essayé de casser certains "mythes". Par la suite, la lecture d'article plus poussée devrait être facilité.
    toute a fait d'accord , personnellement j'ai appris pas mal de choses encore bravo +++
    juste faut voir le format pdf qui est un peut mal imprimer (page 8) .

  6. #66
    Expert Confirmé
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 320
    Points : 2 743
    Points
    2 743

    Par défaut

    Bonjour,
    Je découvre bien tardivement ton TOPO sur PDO !
    Un vrais bijoux, et pour cela mille bravos

    Je sais qu'il faut garder la "légéretée" a ton sujet, il n'empéche que
    le mécanisme du PREPARE qui reste un pilier de PDO
    (pas obligatoir comme tu l'a souligné) mériterait quelques précisions.

    A ce sujet je te soumet une analyse dont tu fera le trie si bon te semble
    pour l'incorporer si tu juges que cela n'alourdirait pas ton sujet.

    ____________________________________
    Préparé ou pas, avec ou sans bindparam, au final chaque exec envoie en une seule fois la requête et les vraies variables au gestionnaire de base de données (par exemple MySql) a la différence du PREPARE SQL !

    Dans un PREPARE (SQL par exemple) le gestionnaire reçoit et analyse la requête et attend tout envoi de données sur le pointeur de l'instruction préparée.

    Voilà pour le prépare ...
    ______________________________________

    Concernant "protection" "injection" et "échappement"

    l' injection doit être évitée par un contrôle (de notre choix)

    Pour le reste "protection" "échappement"

    Juste un petit historique que vous connaissez bien sur:

    Au début nous faisions avant un INSERT ou autre ... le fameux addslashes()
    avec la douce contrainte de contrôler l'état d' activation de ou non des magic_quotes_gpc...

    le résultat .. plein d' antislashs et obligé a la relecture de faire un
    stripslashes()

    Maintenant, les versions modernes de SQL / PHP ont cette superbe fonction
    mysql_real_escape_string qui fait EXACTEMENT la même chose que PDO

    A savoir doubler les ' et inscrire les caractères spéciaux et accentués sur deux octets ! ce qui protége bien les données.

    Ainsi la relecture est directe sans instructions !!
    ____________________________________

    A++ et encore BRAVO !
    Christele

  7. #67
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    19 842
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 19 842
    Points : 26 120
    Points
    26 120

    Par défaut

    Préparé ou pas, avec ou sans bindparam, au final chaque exec envoie en une seule fois la requête et les vraies variables au gestionnaire de base de données (par exemple MySql) a la différence du PREPARE SQL !
    Pour Mysql (je ne sais pas pour les autres drivers), la préparation est par défaut émulé par soucis de compatibilité avec mysql < 5.1 mais il est possible d'utiliser la préparation du serveur mysql en changeant le paramètre ATTR_EMULATE_PREPARES.

    Maintenant, les versions modernes de SQL / PHP ont cette superbe fonction
    mysql_real_escape_string qui fait EXACTEMENT la même chose que PDO
    pas vraiment moderne : cette fonction existe depuis 11 ans et est maintenant classé comme obsolète à ne plus utiliser.
    Quand au fait qu'elle ferrait la même chose que PDO je ne vois pas trop à quoi tu fais référence.
    A savoir doubler les ' et inscrire les caractères spéciaux et accentués sur deux octets ! ce qui protége bien les données.
    Les accents ne posent pas de problème dans les requêtes et ne sont pas modifiés par mysql_real_escape_string. Ca serait d'ailleurs bien gênant d'avoir des caractères multioctet dans un encodage simple octet non ?

  8. #68
    Expert Confirmé
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 320
    Points : 2 743
    Points
    2 743

    Par défaut

    Citation Envoyé par sabotage Voir le message
    Pour Mysql (je ne sais pas pour les autres drivers), la préparation est par défaut émulé par soucis de compatibilité avec mysql < 5.1 mais il est possible d'utiliser la préparation du serveur mysql en changeant le paramètre ATTR_EMULATE_PREPARES.
    Je n'ais pas contrôlé depuis longtemps, mais par défault j'étais "True" de base


    Citation Envoyé par sabotage Voir le message
    mysql_real_escape_string()
    pas vraiment moderne : cette fonction existe depuis 11 ans et est maintenant classé comme obsolète à ne plus utiliser.
    Quand au fait qu'elle ferrait la même chose que PDO je ne vois pas trop à quoi tu fais référence.
    Je fais référence justement a la protection des données tels que je l'ais écris
    plus bas.


    Citation Envoyé par sabotage Voir le message
    Les accents ne posent pas de problème dans les requêtes et ne sont pas modifiés par mysql_real_escape_string. Ca serait d'ailleurs bien gênant d'avoir des caractères multioctet dans un encodage simple octet non ?
    Oui tu as raison Sabotage, mais c'est ce que m'indique mon éditeur hexadécimal
    Dans un fichier non UTF8 j'ais bien cela ... mais tu me mets le doute,
    c'est peut-étre l'export en *.SQL qui provoque cela ???

    Bref tu m'as mis un gros doute sur tout cela, je vais appronfondir ces trois points

    A++ et merci
    Christele

  9. #69
    Invité de passage
    Inscrit en
    avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 11
    Points : 1
    Points
    1

    Par défaut une erreur dans le tuto

    Je note une erreur dans le paragraphe nommé
    III.a. Établir une connexion avec PDO

    Le bloc try pour la connexion est écrit ainsi :
    Code :
    1
    2
    3
    4
    5
    6
    try {
        $strConnection = 'mysql:host=localhost;dbname=ma_base'; //Ligne 1
        $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2
        $pdo = new PDO($connStr, 'Utilisateur', 'Mot de passe', $arrExtraParam); //Ligne 3; Instancie la connexion
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Ligne 4
    }
    or la variable de la ligne 3 (commentée "//Ligne 3; Instancie la connexion"), $connStr, sort de nulle part. En fait, c'est la variable $strConnection qu'on devrait trouver à cet endroit.

    La ligne marquée 3 en commentaire devrait donc être
    Code :
    $pdo = new PDO($strConnection, 'Utilisateur', 'Mot de passe', $arrExtraParam); //Ligne 3; Instancie la connexion

  10. #70
    Membre du Club Avatar de slack457
    Homme Profil pro Julien
    Inscrit en
    juillet 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Nom : Homme Julien
    Âge : 26
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juillet 2009
    Messages : 119
    Points : 58
    Points
    58

    Par défaut

    wow, super tuto !

    Tout est si clair, j'ai beaucoup apprécié de pouvoir comparer les codes MySQL et PDO, ça aide énormément à la compréhension.
    J'avais du mal a vraiment comprendre solidement PDO avec les autres tutos que j'ai pu lire sur le WEB. Pas avec celui-ci !

    Un grand merci !

    PS : bien vu maildeseb

  11. #71
    Membre confirmé
    Homme Profil pro Mouloud OULD FELLA
    Développeur Web
    Inscrit en
    mai 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Nom : Homme Mouloud OULD FELLA
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mai 2002
    Messages : 540
    Points : 268
    Points
    268

    Par défaut

    merci pour l'article je me met à PDO mais y une chose que j'ai pas compris dans cet article
    Code :
    $arrExtraParam = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2
    on a initialisé la variable $arrExtraParam
    mais jamais utilisée, comment l'utiliser ?
    peut être comme ça ?
    Code :
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION, $arrExtraParam); //Ligne 4

  12. #72
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    19 842
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 19 842
    Points : 26 120
    Points
    26 120

    Par défaut

    $arrExtraParam est utilise la ligne suivante :
    Code :
    1
    2
     $arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2
        $pdo = new PDO($connStr, 'Utilisateur', 'Mot de passe', $arrExtraParam); //Ligne 3; Instancie la connexion
    http://fmaz.developpez.com/tutoriels...re-pdo/#LIII.a

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •