dedlfix: Frage zum Wiki-Artikel „PHP MySQL API“

Beitrag lesen

problematische Seite

Tach!

  • mysql wurde abgelöst, weil es Sicherheitslücken hat? [...] `The old mysql extension, ext/mysql, is old. [...]

Ja, das Alter und weil damit die neueren Möglichkeiten (die auch schon wieder recht alt, aber noch aktuell sind) nicht realisierbar waren, beispielsweise Prepared Statements und Stored Procedures.

  • die prozedurale Variante von mysqli weicht bei connect etwas von der OO-Schicht ab, new mysqli() liefert immer ein mysqli-Objekt, aber mysqli_connect liefert FALSE wenn ein Fehler auftritt.

Hier weicht wohl eher das OOP von der herkömmlichen PHP-Art und -Weise ab, Misserfolge über den Rückgabewert bekanntzugeben. Das geht bei new nicht, weil das immer das erzeugte Objekt zurückgibt. Exception werfen ginge, aber das muss auch ohne gehen, für die, die keine Exceptions verwenden.

  • sprintf: Ist das in PHP das Mittel der Wahl? Ich kenne hauptsächlich Verkettungen per . Operator oder string parsing ("Hallo $dings")

sprintf ist das Mittel der Wahl, wenn man die Statement-Strings nicht auseinanderreißen und verketten möchte. Das Statement auf einen kompletten Blick zu haben, ist doch meist vorteilhafter, besonders wenn "Hallo $dings" nicht geht, weil $dings noch durch die Maskierfunktion geschickt werden muss.

dedlfix.