Hallo Matthias,
Die beiden anderen Methoden funktionieren weiterhin,
Kannst du bitte noch mal über den Teil 1 schauen?
Autowert… urghs. ;-)
$id_check -> bindParam(':BName', $_POST['bname']);
$id_check -> execute();
Ich würde hier lieber die Parameter an execute()
übergeben, das ist einfacher lesbar:
$id_check -> execute(array(':BName' => $_POST['bname']));
Das gleiche weiter unten. Weiter:
if(isset($benutzer['ID'])) array_push($fehler,'Dieser Benutzer existiert schon.');
Diese Notation ist gefährlich, siehe goto fail
- ich würde immer Klammern nutzen. In dem INSERT
hast du einen Quoting-Fehler: "Ich"
, es müsste aber \"Ich\"
sein (SQL embedded in PHP).
Bzgl des Inhalts: ich würde mir die Bemerkung über natürliche Primärschlüssel sparen: es macht den Satz schlechter lesbar, tut hier nichts zur Sache und der Wahrheitsgehalt ist mindestens strittig (um natürliche vs künstliche Primärschlüssel existiert seit Ewigkeiten eine leidenschaftliche Diskussion). Bei den Error-Codes würde ich explizit MySQL erwähnen, vllt im Stile von „so lauten der Error-Code und die entsprechende Fehlermeldung bei MySQL“ oder so.
Ansonsten sieht das gut aus.
LG,
CK