Je travaille sur la construction d'un petit script PHP / mysql qui agira comme un blog WordPress mais sera simplement un petit site pour mes yeux uniquement pour stocker des extraits de code PHP. Je vais donc avoir des catégories, puis des pages avec un code d'échantillon que j'écris avec une syntaxe JavaScript surllighter. Au lieu de stocker mes extraits de code PHP dans le fichier, je veux les sauvegarder sur MySQL DB. Alors, quelle est la meilleure façon de sauver PHP dans MySQL et de le faire sortir de MySQL à afficher sur la page? P>
Mon résultat final sera quelque chose comme ça
Texte alt http://img2.pict.com/c1 /c4/69/2516419/0/800/screenshot2b193.png P>
mise à jour: p>
Je n'étais tout simplement pas sûr de si je devais faire quelque chose de spécial au code avant de l'envoyer à MySQL car il a tous différents types de caractères de celui-ci p>
6 Réponses :
Il suffit de stocker dans un champ code> code>, comme cela est. Pas beaucoup plus au-delà de cela. P>
Est mysql_real_escape_string code> requis avec MySQL texte code> DataType?
Voulez-vous pouvoir rechercher le code PHP? Si tel est le cas, je recommande d'utiliser le type de table myisam car il prend en charge Les index de texte (InnoDB ne le fait pas). Vos choix pour Type de colonne En ce qui concerne un index code> FullText CODE> sont Un autre point à mentionner, vous assurez-vous d'échapper correctement à tout code PHP (ou à toute valeur de cette matière) avant de l'insérer. La meilleure façon de faire est d'utiliser des requêtes paramétrées. P> char code>, varchar code> et texte code>. J'irais avec texte code> car vos extraits de code peuvent devenir trop longs pour les autres types. P>
Ne pas descendre. Mais si cela est vrai, il est dommage que, dans MySQL, Myisam prend en charge les index de texte intégral. Cela signifie que vous devrez perdre des transactions, une intégrité référentielle ...
@Christophed: si vrai. Ce serait bien de voir Fulltext code> Support à Innodb.
Sauf si vous manquez une partie du problème, vous devez être en sécurité le stocker comme champ de texte dans une base de données MySQL. Il suffit de faire
Si vous n'utilisez pas une sorte de couche d'abstraction de base de données, appelez simplement mysql_real_escape_string sur le texte. p>
super c'est ce que je pensais
Est mysql_real_escape_string code> requis avec MySQL texte code> DataType?
Stocker comme texte (varchar) dans la base de données. P>
Utiliser une feuille de style en cascade (CSS) pour formater le code. P>
Essayez ceci:
mysql select ...
eval('?>' . $row['phpcode'] . '<?php ');
Je ne comprends pas votre question. Vous demandez-vous comment stocker et récupérer quelque chose dans une base de données MySQL?
er ... Saviez-vous que PHP a une syntaxe intégrée surligneur? PHP.net/Highlight -String