RSS

  • YouTube
  • LinkedIn
  • Google

Archiv nach dem Monat : PHP

Mehrere Werte verbindlich in PDO-SQL-Anweisung (PDOStatement)

Manchmal müssen wir einen einzelnen Wert über mehrere Spalten suchen, beim Erstellen von SQL-Anweisungen.

Nehmen wir an der folgenden Tabelle

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

If we need search a single value on columns B,D und E we will need use the following instruction

In PHP code we can do

Gut, 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.

Also, 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.

Glücklich kann PDO binden Werte in unterschiedlicher Reihenfolge wenn Bindungen mit benannt werden..

Hmm, seems that this isn’;t good enough. Wir ändern nur die Verwendung von 1-indizierte Platzhalter um eine :benannten Platzhalter. There’;s no gain beyond of code readable and the possibility to bind in any order.

Ja, but now we can do the best approach when using one unique search term in several columns. We can use only one bind to one or more :named placeholders ’;cause PDO is smart and clever. Look our final code here.

Erspart eine Menge Tipparbeit beim Schreiben viele SQL-Anweisung mit demselben argument.

Benennen von Dateien mithilfe der Liste aus 0 bis Z

Heute ich war einige Skripte programmieren und habe ein wenig Mühe zu ein definiertes Muster verwenden.

Das Muster ist, Dateien zu erstellen, wo die Reihenfolge in beginnt 0 (0 (null)) und kann nicht wiederholt werden, bis Z.

Beispiel:

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

Gut, Dies ist kein großes Problem, so dass ich diesen Code verwenden.

Aber $Seq nicht gab der erwartete Wert des nicht 0 (0 (null)) bei der ersten Ausführung. Stattdessen, Es war leer.

Debuggen die Variablen, Ich sah, dass die while nie ergibt true. Auf der Kommandozeile zu reproduzieren versucht sah ich, dass in_array($Seq, $seqs); immer zurück true. Ich versuchte, verwenden “”, “R” und egal, welchen Wert ich habe, noch zurückgeben true.

So ändern ich, um zu verwenden STRICT Argument für in_array to true and works for ‘;A’; through ‘;Z’;, but not for ‘;0; through ‘;9;.

Damn…; PHP ist richtig, ;0; ist nicht unbedingt gleich 0. Die Chr Funktionsrückgabe string und Bereich('0', '9') erstellt ein array mit integer Werte.

Also, Ich änderte den Ansatz auf alle Werte mit auswerten STRICT, Da ich einen schönen und sauberen Code ohne keine anderen Funktionen möchte verwendet werden zu erstellen.

This is the final code that I’;m mit:

Wie Sie sehen können, Ich änderte die $seqs initial values from ‘;0; zu Ihrem ASCII Code und auf Ihren Wert, der gab mir wieder ein array mit allen Werten im string Typ.

Bis bald!

PHP-Vergleich-Fehler

Heute, Ich schrieb ein Skript in PHP beim stieß ich auf unerwartetes Verhalten in der Befehlszeile verwendet werden (zumindest von meiner Seite).
Das Skript sollte drei Argumente erhalten., das letzte von ihnen eine Liste mit einem oder mehreren numerischen Codes.
Versuch, diese letzte Argument zu überprüfen war ein anderes Ergebnis bekommen als gedacht.
Finden Sie das Code-Snippet, das war ich mit:

Lesen Sie weiter >>

Konvertieren von xor, SHR und Shl von Delphi für PHP

Ich bin eine Software gemacht Migration. Delphi für PHP und stieß ich auf ein Problem in einem ficken Seliger Verschlüsselungsfunktion.

Ich litt ein bisschen versucht, die Funktion schreiben wird die Komplexität des Codes und die Unterschiede in den Ergebnissen.

Die Funktion nutzt der Betreiber XOR und SHR in Delphi-version. Die SHR war relativ einfach dank Erfahrungen mit bitweisen Operatoren und wie Delphi Dokumentation sagt, dass der Betreiber Sie Bits nach rechts zieht

Lesen Sie weiter >>