Moin!
Es geht mir nicht um diesen einen Buchstaben sondern um die Komplexität, die das mysqli mitbringt und damit auch die möglichen Wege zur Lösung und die dabei vorhandenen potentiellen Fehlerquellen.
mysqli ist genauso komplex, wie mysql. Man kann es prozedural anwenden, und es verhält sich genau gleich.
Ist also in dieser Hinsicht wirklich nur ein Buchstabe mehr zu tippen.
Aber danach? ...
Welche Features sind es denn, die für 0815-Anwendungen interessant sein könnten?
- Multiquerys?
Selten. Und wenn, dann muss man sich mit einem komplexen Ergebnisabholungsprozess rumschlagen.
Multi-Querys sind für manche Dinge unabdingbar. Nicht nur für mehr als einen Query in einem String. Beispielsweise auch für ...
- Stored Procedures?
Es fällt ja vielen schon schwer, normale Statements zu formulieren.
Stored Procedures sind aus meiner Sicht in den meisten Projekten aber tatsächlich nicht wirklich angebracht. Das ist wirklich nur dann sinnvoll, wenn man auf die Datenbank aus mehreren verschiedenen Sprachen zugreift und gewisse Regeln forcieren muss.
- Prepared Statements?
Haben eine meiner Meinung nach recht ungewöhnliche Umsetzung, wie man Variablen binden muss. Dieses Konzept muss man auch erst einmal verstehen.
Ich glaube, die Argumentation pro MySQLi ist auch prophylaktischer Natur. Es wäre blöd, wenn man sämtlichen Code mitten im Projekt umstellen muss, nur weil plötzlich ein Feature gebraucht wird, das nurmit mysqli funktioniert.
Wie gesagt, das sind (abgesehen von der Implementierung) alles wunderbare Features an sich - für den der sich braucht. Und ich werden einen Teufel tun, sie jemandem auszureden, wenn er sich dafür entschieden hat, wenn er Bedarf dazu hat, und wenn die Vorteile die Nachteile bei ihrer Verwendung - konkret für den Einsatzzweck beurteilt - überwiegen. Für eine pauschale Empfehlung habe ich jedoch nicht genügend stichhaltige Argumente.
Es gibt genau ein stichhaltiges Argument pro mysqli: Man kann damit mehr machen, als mit mysql, und es soll auch performanter sein, ansonsten verhält es sich genau gleich.
Und wenn mysql und mysqli funktional bei den Punkten, die beide abdecken, sich identisch verhalten, dann gewinnt die Variante, die mehr potentielle Möglichkeiten bietet und schneller ist. Und das ist mysqli.
Das reicht mir als Grund für eine pauschale Empfehlung aus.
- Sven Rautenberg