Hallo,
Da ich mich jetzt seit längerem mit dem großen PHP Tutorial beschäftige, habe ich nun eine Frage, mit der Verwendung von MySQL.
Tutorial Link: http://tut.php-quake.net/de/
Im Kapitel 40 "Loginskript" werden SQL Befehle benutzt, die nicht erklärt sind.
Leider verstehe ich diese nicht.
Beispiel:
PHP-Code:
<?php
// [...] Der Anfang ist unwichtig
$sql = 'SELECT
ID
FROM
User
WHERE
Username = ?
LIMIT
1';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$stmt->bind_param('s', $Username);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows) {
return 'Der Username wird bereits verwendet.';
}
$stmt->close();
// [...] unwichtig
?>
Die Zeile
$stmt = $db->prepare($sql); verstehe ich nicht. Dazu kommen die Zeilen:
$stmt->bind_param('s', $Username);
$stmt->execute();
$stmt->store_result();
Und: Was bewirkt die Zeile WHERE Username = ? ?
Ich verstehe nicht, wozu die sind. Außerdem verstehe ich die Bedingung in der If-Abfrage nicht, wozu gibt es
num_rows?
Außerdem: Wann sollte man ein neues Objekt benutzen, wenn man eine MySQL Verbindung aufbaut? Wann die ganz normale Art mit
mysql_connect('..')?
Was sind die Vorteile von Objekten?
Ich habe versucht ein die Funktionen auf php.net zu finden, aber ich habe die meisten nicht gefunden.
Eine kurze schöne Erklärung wäre wirklich sehr hilfreich, ich würde mich über jede Antwort freuen.
Danke fürs Lesen.
Gruß,
C0deLine