PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu MySQL Features.


MadMan2k
2005-10-22, 22:08:11
MySQL hat ja in den letzten beiden Releases so angepriesene Features, wie Prepared Statements und Stored Procedures dazubekommen.

Soweit ich es der Doku entnehmen kann verstehe ich sogar halbwegs was diese bewirken - nur wann macht ihr einsatz Sinn?
Kann man nun z.B. generell dazu übergehen Prepared Statements zu verwenden, wenn Benutzereingaben im Spiel sind?

Silpion
2005-10-23, 00:04:43
Der Einsatz macht z.B. dann Sinn, wenn häufig die gleiche Kombination von Anfragen gestellt wird (z.B. Login, Bestellung oder suche nach Produkte mit bestimmten Merkmalen in einem Online-Shop).

Im Prinzip bekommst du nichts Neues, du kannst die Abfragen auch von deinem Programm aus einzeln übermitteln und die Ergebnisse auswerten. Mit Hilfe der Stored Procedures wird das Ganze dann von der eigentlichen Software auf die Datenbank verlagert und in dem Sinne ein wenig unabhängiger.

Allerdings sind die Stored Procedures zwischen den einzelnen Datenbanken ziemlich inkompatibel. Ich muss gerade eine MSSQL-Datenbank auf MySQL migrieren und die Stored Procedures müssen allesamt übersetzt werden. Ist nicht wirklich schwierig, aber ein direktes Übernehmen geht nicht. Ähnlich ist es auch bei den Datenbanken Firebird oder Caché anstelle von MySQL.

RMC
2005-10-23, 09:17:20
Prepared Statements machen eigentlich immer Sinn, weil man ohne diese nämlich einfache Abfragen außer Kraft setzen könnte. (zB bei Username und Passwort Abfragen).

Ich zumindest bin schon lang dazu übergegangen, diese zu verwenden (mit dem PEAR Package) und bei Benutzereingaben ist das auch ziemlich wichtig.

MadMan2k
2005-10-23, 14:00:38
PEAR macht auch nichts anderes als das query Zwischenzuspeichern und auf die Usereingaben addslshes auszuführen.

Um die MySQL Funktionen benutzen zu können braucht man entweder mysqli oder PDO.