7
votes

Meilleure pratique pour écrire des déclarations SQL en PHP

Quelqu'un peut-il me diriger vers une ressource ou me montrer un exemple de bonne façon d'écrire des déclarations SQL en PHP.

La plupart des déclarations semblent si laides et illisibles.


3 commentaires

Quelques questions connexes: Stackoverflow.com/Questtions/ 37791 / Comment faire-vous-gérer-SQL-Quer ies Stackoverflow.com/Questtions/1685362/... < Un href = "http://stackoverflow.com/questions/1342556/how-can-ifseparate-sql-from-my-php" Titre = "Comment puis-je séparer SQL de mon PHP"> Stackoverflow.com/questions / 1342556 / ...


N'écrivez pas SQL dans PHP - Utilisez des procédures stockées: Joeyrivera.com/2009/...


Vient de voir cette question. Pour les futurs visiteurs ou débutants, cela peut aider: PHP: la bonne façon


9 Réponses :


2
votes

Évitez SELECT *

Utiliser Enum sur varchar

Déclarations préparées (PDO http://www.php.net/ Manuel / fr / intro.pdo.php )


0 commentaires

1
votes

http://fr.wikibooks.org/wiki/programming:php:sql_injection

Voir la section en bas sur des relevés paramétrés.


1 commentaires

J'ai vu certains de mes amis de concepteurs Web Dab dans le développement Web et la liquidation avec un code non sécurisé.



0
votes

Ce blog post ici est un bon moyen de le faire.

http://www.communitymx.com/content/article .cfm? Page = 1 & CID = A5B54AAE1BC138F

Personnellement, je n'inclut pas les nouvelles lignes vides.


1 commentaires

C'est pour la lisibilité SQL; La syntaxe est SQL Server non MySQL et il n'y a aucune mention de php ...



0
votes

Personnellement, j'aime bien séparer mysql comme ceci: xxx

J'aime donc mettre les commandes séparées sur les nouvelles lignes qui maintiennent les choses faciles à lire.


0 commentaires

7
votes
  1. Utilisez Instructions préparées
  2. N'hésitez pas à formater votre code

    échantillon de code: xxx


0 commentaires

1
votes

considérer Instruments préparés

$sql = sprintf("SELECT col1, col2, col3 FROM tbl WHERE col1='%s' AND col2='%s'",
    mysql_real_escape_string($col1),
    mysql_real_escape_string($col2)
);


0 commentaires

0
votes

Guide de sécurité PHP: Injection SQL . Le livre Sécurité PHP essentielle est aussi rapide, Lecture facilement digérée.


0 commentaires

0
votes

SQL, IMO, semble souvent laide et illisible en raison de l'accouplement serré avec d'autres couches de code. Les requêtes complexes SQL doivent souvent être conçues de manière conditionnelle et lorsque vous commencez à lancer HTML entre la requête SQL, en plus de la logique commerciale, etc. Le résultat est un code illisible.

envisagez d'utiliser une couche dal (couche d'accès aux données) ou plus formellement, la passerelle de données de table ou juste une passerelle SQL. Il fournira des avantages incroyables:

  1. Résumé Le code SQL faisant la commutation / le portage sur un autre RDBMS beaucoup plus facile
  2. isole le code SQL de votre logique et modèles d'entreprise, etc., ce qui rend le code beaucoup plus lisible.

    acclamations, Alex


0 commentaires

1
votes

J'utilise un client MySQL pour travailler sur mes questions ( SQLWave ). Outil très pratique qui vous permet de faire des requêtes et de les sauvegarder en tant que SQL, il sortira un fichier comme celui-ci:

<?
    $result=mysql_query("
       select tags.*,group_concat(subid) as subs from t.tags
          join t.taglink on taglink.id=tags.id
       group by id
       order by category,tag,subid
    ");
?>


0 commentaires