Dennis Wronka
Soulcollector
Ich bastel grad an einer SQL-Klasse (bitte keine Kommentare, dass es solche schon gibt wie Sand am Meer, das ist mir bereits klar ) welche die Funktionen verschiedener Datenbank-Systeme vereinen soll um die Portierung eines Projekts von einem DBMS zu einem anderen zu vereinfachen. Zur Zeit arbeite ich an den Funktionen fuer MySQL und PostgreSQL. Auf der Arbeit hab ich auch einen MSSQL-Server zur Verfuegung, sodass ich dort die entsprechenden Funktionen dafuer schreiben kann.
Nun will ich keine Funktionen implementieren die kein Mensch benoetigt aber es soll schon alles drin sein was man so braucht. Daher dieser Thread.
Bisher hab ich folgende Funktionen:
Bei Konstrukten wie diesem
mit der Klasse umsetzen will wird innerhalb der Schleife ja das Resultset ueberschrieben.
Dies fuehrt dann zum Fehler bei der Schleifenverarbeitung.
Dafuer dann halt die Funktionen getresultset() und setresultset().
Damit kann innerhalb der Schleife das Resultset zwischengespeichert und wiederhergestellt werden.
Dadurch laeuft die Schleife genauso ab wie im ersten Beispiel.
Ich weiss, sowas laesst sich auch mit JOIN in einer Abfrage machen, aber nicht jeder ist so sehr mit SQL vertraut, dass er mit JOIN arbeitet. Daher eben diese Moeglichkeit des Imports und Exports des Resultsets.
Nun aber zu meiner eigentlichen Frage:
Was fuer Funktionen benoetigt Ihr sonst so in Euren Scripts? Zusaetzlich zu den oben bereits aufgefuehrten.
Ich denke die wichtigsten Funktionen hab ich bereits abgedeckt, aber ich will nicht ausschliessen, dass ich irgendwas vergessen habe.
Nun will ich keine Funktionen implementieren die kein Mensch benoetigt aber es soll schon alles drin sein was man so braucht. Daher dieser Thread.
Bisher hab ich folgende Funktionen:
- query()
- fetch_assoc()
- fetch_row()
- fetch_array() (obwoh ich da ueberlege ob man die ueberhaupt braucht, denn wann braucht man schonmal sowohl einen numerischen als auch alphabetischen Index?)
- fetch_object()
- num_rows()
- escape_string()
- affected_rows()
- free_result()
- error()
- getresultset()
- setresultset()
Bei Konstrukten wie diesem
PHP:
$forum_posts=mysql_query("select * from `forum_posts` order by `id`");
while ($forum_post=mysql_fetch_assoc($forum_posts))
{
$users=mysql_query("select * from `users` where `id`='".$forum_post['userid']."'");
$user=mysql_fetch_assoc($users);
//Ausgabe
}
PHP:
$sql->query("select * from `forum_posts` order by `id`");
while ($forum_post=$sql->fetch_assoc())
{
$sql->query("select * from `users` where `id`='".$forum_post['userid']."'");
$user=$sql->fetch_assoc();
//Ausgabe
}
Dafuer dann halt die Funktionen getresultset() und setresultset().
Damit kann innerhalb der Schleife das Resultset zwischengespeichert und wiederhergestellt werden.
PHP:
$sql->query("select * from `forum_posts` order by `id`");
while ($forum_post=$sql->fetch_assoc())
{
$forum_posts=$sql->getresultset();
$sql->query("select * from `users` where `id`='".$forum_post['userid']."'");
$user=$sql->fetch_assoc();
//Ausgabe
$sql->setresultset($forum_posts);
}
Ich weiss, sowas laesst sich auch mit JOIN in einer Abfrage machen, aber nicht jeder ist so sehr mit SQL vertraut, dass er mit JOIN arbeitet. Daher eben diese Moeglichkeit des Imports und Exports des Resultsets.
Nun aber zu meiner eigentlichen Frage:
Was fuer Funktionen benoetigt Ihr sonst so in Euren Scripts? Zusaetzlich zu den oben bereits aufgefuehrten.
Ich denke die wichtigsten Funktionen hab ich bereits abgedeckt, aber ich will nicht ausschliessen, dass ich irgendwas vergessen habe.