echo $begrüßung;
kurz noch eine Frage wegen "mysql_num_rows"
Bisher mit mysql:
$result = mysql_query("SELECT usr, UserID FROM testuser WHERE usr='".$USER."' && pwd=AES_ENCRYPT('".$PWD."',@pswd_key)") or error(__LINE__,__FILE__,"Konnte Datenbank nich nach angemeldeten Benutzern durchsuchen",mysql_error());
if(mysql_num_rows($result) == 0) {...
Ich habe nun versucht das mit DBO und rowCount() so zu lösen:
rowCount() ist nicht mit mysql_num_rows() gleichzusetzen. Wie du dem Handbuch nicht entnommen hast, liefert diese Funktion nur die Anzahl der betroffenen Datensätze bei Daten verändernden Statements, also nicht bei SELECT.
$count = $result->rowCount();
Wäre das ok bzw. gleichbedeutend?
Nein, ich hab dir doch gesagt, was deine Möglichkeiten sind. rowCount() ist keine.
Zum Schluss noch was spezielles:
In einer Tabelle speichere ich ein Passwort ja mit "AES_ENCRYPT('".$PWD."',@pswd_key)""
Das wird ja vermutlich mit anderen Datenbanken nicht funktionieren oder?
Also was anderes verwenden bzw, die Verschlüsselung mit PHP machen?
Wenn man auf Austauschbarkeit Wert legt, muss man sich auf die Dinge beschränken, die alle DBMS zur Verfügung stellen, oder die von der Datenbankabstraktion für die restlichen Systeme emuliert werden. Das schränkt teilweise ganz gehörig ein, wenn man die Features eines DBMS nicht nutzen kann, sie stattdessen mit höherem Aufwand - sowohl in Entwicklung als auch Laufzeitverhalten - nachbilden muss. Ein anderer Ansatz ist, eine weitere Zwischenschicht einzuziehen, die nicht die Datenbank abstrahiert sondern allgemein Datenquellen zur Verfügung stellt. Da somit das SQL-Statement und das Drumherum komplett verborgen ist, kann man darin auch native DBMS-Features verwenden. Wenn wirklich einmal ein DBMS-Wechsel ansteht, muss man den meist sowieso sorgfältig planen. Einfach nur den Connect-String austauschen zu wollen halte ich für illusorisch. Es kann nun vorkommen, dass das neue System ein bestimmtes Detail anders löst oder viel bessere Möglichkeiten bereitstellt. Man passt also die Daten-Abstraktionsschicht an und kann wieder die volle Leistung des neuen DBMS nutzen. Ja, selbst ein Wechsel auf ein anderes Speichermedium wäre damit ohne (größere) Eingriffe in die Geschäftslogik möglich.
Ich hoffe, du kannst nun selbst entscheiden, ob du die MySQL-spezifische Funktion nutzen willst oder doch nur global-galaktisch gültiges SQL verwendest.
echo "$verabschiedung $name";