Ich öffne ja zuerst die Datenbank wie folgt.
Anschließend erzeuge ich mit $mysqli -> prepare($msql_query) ein neues Objekt, das in $stmt gespeichert wird.
Anschließend erzeuge ich ja wieder ein neues Objekt mit $stmt -> get_result() dieses wird dann in $result gespeichert. Dadurch habe ich bis jetzt 3 Objekte erzeugt. Weiter unten in meinem PHP Code update ich dann Daten in meiner Datenbank. Dadurch erzeuge ich dann wieder 1weiteres Objekt die ich dann wieder in $stmt speicher.
1. Wird dadurch das alte $stmt Objekte überschrieben?
2. Wie viele Objekte muss ich jetzt überhaupt zerstören?
3. Muss ich die Objekte erst zertören bevor ich neue Objekte erzeuge, damit es nicht zu Speicherleichen kommt?
4. Ist es richtig das ich bei der neuen MYSQLI Klasse kein htmlspecialchars für $_POST['id'] das dies jetzt die Klasse automatisch für mich erledigt?
weiter unten im PHP Code:
PHP-Code:
$mysqli = new mysqli('host', 'user', 'pw', 'db');
Anschließend erzeuge ich ja wieder ein neues Objekt mit $stmt -> get_result() dieses wird dann in $result gespeichert. Dadurch habe ich bis jetzt 3 Objekte erzeugt. Weiter unten in meinem PHP Code update ich dann Daten in meiner Datenbank. Dadurch erzeuge ich dann wieder 1weiteres Objekt die ich dann wieder in $stmt speicher.
1. Wird dadurch das alte $stmt Objekte überschrieben?
2. Wie viele Objekte muss ich jetzt überhaupt zerstören?
3. Muss ich die Objekte erst zertören bevor ich neue Objekte erzeuge, damit es nicht zu Speicherleichen kommt?
4. Ist es richtig das ich bei der neuen MYSQLI Klasse kein htmlspecialchars für $_POST['id'] das dies jetzt die Klasse automatisch für mich erledigt?
PHP-Code:
$msql_query = "SELECT id FROM Testtabelle WHERE id= ? ";
if($stmt = $mysqli -> prepare($msql_query))
{
$stmt -> bind_param("i", $_POST['id']);
$stmt -> execute();
$result = $stmt -> get_result();
$anzahl = $result -> num_rows;
$row = $result -> fetch_assoc();
}
PHP-Code:
$msql_query = "UPDATE Testtabelle SET id = ? WHERE id = ? ";
if($stmt = $mysqli -> prepare($msql_query))
{
$stmt -> bind_param("i", $_POST['id']);
$stmt -> execute();
}

Kommentar