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. P>
La plupart des déclarations semblent si laides et illisibles. P>
9 Réponses :
Évitez Utiliser Déclarations préparées (PDO http://www.php.net/ Manuel / fr / intro.pdo.php ) p> SELECT * CODE> P>
Enum code> sur varchar code> p>
http://fr.wikibooks.org/wiki/programming:php:sql_injection p>
Voir la section en bas sur des relevés paramétrés. P>
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é.
Ce blog post ici est un bon moyen de le faire. P>
http://www.communitymx.com/content/article .cfm? Page = 1 & CID = A5B54AAE1BC138F P>
Personnellement, je n'inclut pas les nouvelles lignes vides. P>
C'est pour la lisibilité SQL; La syntaxe est SQL Server non MySQL et il n'y a aucune mention de php ...
Personnellement, j'aime bien séparer mysql comme ceci: J'aime donc mettre les commandes séparées sur les nouvelles lignes qui maintiennent les choses faciles à lire. P> P>
échantillon de code: p>
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)
);
Guide de sécurité PHP: Injection SQL . Le livre Sécurité PHP essentielle est aussi rapide, Lecture facilement digérée. p>
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. P>
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: P>
acclamations, Alex P>
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
");
?>
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