FLUX RSS

  • YouTube
  • LinkedIn
  • Google

Archives pour : PHP

Liaison de plusieurs valeurs dans une requête SQL PDO (PDOStatement)

Parfois nous avons besoin de rechercher une valeur unique par le biais de plusieurs colonnes lorsque vous créez des instructions SQL.

Supposons que la table ci-dessous

  • [ENTITY_ONE]
    • ID
    • COLUMN_A
    • COLUMN_B
    • COLUMN_C
    • COLUMN_D
    • COLUMN_E

Si nous avons besoin de rechercher une valeur unique sur les colonnes B,D et E Nous allons besoin d’utiliser l’instruction suivante

Dans le code PHP que nous pouvons faire

Eh bien, this can work but we know that isn’;t the best approach. We need use Binding Values to avoid SQL injection and other malicious treats.

Alors, the code can be modified to

Much better, but, when building complex SQL instruction, things can be confusing with lots of arguments and don’;t forget: ORDER MATTERS.

Happily PDO can bind values in different order when using named bindings.

Hmm, seems that this isn’;t good enough. Nous changeons seulement l’utilisation de 1-espace réservé indexée pour un :espace réservé nommé. There’;s no gain beyond of code readable and the possibility to bind in any order.

Oui, mais maintenant, nous pouvons faire la meilleure approche lors de l’utilisation d’un terme de recherche unique en plusieurs colonnes. Nous pouvons utiliser qu’une seule liaison à un ou plusieurs :named placeholders ’;cause PDO is smart and clever. Regardez notre code final ici.

Can save a lot of typing when writing many SQL instruction using same argument.

Nommage des fichiers à l'aide de la liste de 0 à Z

Aujourd'hui j'ai était codage certains scripts et trouvé un peu de mal à utiliser un modèle défini.

Le modèle consiste à créer des fichiers où la séquence commence dans 0 (zéro) et ne peut être répété jusqu'à Z.

Exemple de:

myfile0.ext, myfile1.ext, myfile2.ext, (...), myfile9.ext, myfileA.ext, myfileB.txt, (...), myfileZ.txt

Eh bien, ce n'est pas un gros problème, alors j'ai utilisé ce code.

Mais $Seq donné pas la valeur attendue de 0 (zéro) sur la première manche. Au lieu de cela, il était vide.

Les variables de débogage, J'ai vu que le while jamais la valeur true. Tenter de reproduire sur la ligne de commande, j’ai vu que in_array($Seq, $seqs); retourne toujours true. J'ai essayé d'utiliser “”, “R” et peu importe de quelle valeur, j'ai utilisé, encore de retour true.

Donc j’ai changer pour utiliser STRICT argument en faveur de in_array to true and works for ‘;A’; through ‘;Z’;, but not for ‘;0; through ‘;9;.

Damn…; PHP est juste, ;0; n'est pas strictement égal à 0. Le Chr retour de fonction string et gamme(« 0 », « 9 ») crée un array avec integer valeurs.

Alors, J'ai changé l'approche pour évaluer toutes les valeurs par STRICT, parce que je voudrais créer un code sympa et propre, sans aucune autre fonction à utiliser.

This is the final code that I’;à l’aide de m:

Comment vous pouvez voir, J'ai changé le $seqs initial values from ‘;0; à votre ASCII code et revenir à votre valeur qui m'a donné un array avec toutes les valeurs de string type de.

A la prochaine!

Erreur de comparaison PHP

Aujourd'hui, J'ai écrit un script en PHP pour être utilisé dans la ligne de commande lorsque je suis tombé sur un comportement inattendu (au moins de ma part).
Le script devrait recevoir trois arguments, le dernier d'entre eux une liste contenant un ou plusieurs codes numériques.
Essayant de valider ce dernier argument a été d'obtenir un résultat différent qu'imaginé.
Voir l'extrait de code que j'utilisais:

Continuer la lecture >>

Conversion de xor, RSH et shl de Delphi pour PHP

Je suis migration d'un logiciel fait en Delphi pour PHP et je suis tombé sur un problème dans un putain Fonction de cryptage béni.

J'ai souffert un peu en train de réécrire la fonction fait de la complexité du code et avec les différences dans les résultats.

La fonction fait appel à des opérateurs XOR et RSH dans la version de Delphi. La RSA a été relativement facile grâce à l'expérience avec les opérateurs de bits et comment Delphi documentation dit que l'opérateur tire sur bits vers la droite

Continuer la lecture >>