WebImpressionen
Statements

Mehr Sicherheit mit Prepared Statements

Hier nur Objekt orientierte Beispiele.


SELECT eine bestimmte Zeile auswählen
 
<?php
// Verbindung zur Datenbank einfügen
// Beachte das ? (Fragezeichen) in der Abfrage das als Platzhalter verwendet wird.
1
$stmt = $mysqli -> prepare ( ' SELECT vor_name, name, mail FROM personen WHERE id = ? ' );
2
$userId = 1; // oder$mysqli -> real_escape_string ( $_GET ['userId'] );
3
$stmt -> bind_param ( ' i ', $userId );
// In der Methode "bind_param ( )" gibt der erste Parameter die Datentypen jeder Variablen an.
// i : Typ integer,  d : Typ double,  s : Typ string  und  b = Typ blob.
// execute ( ) führt aus.
4
$stmt -> execute ( );
// store_result ( ) speichert das Ergebnis.
5
$stmt -> store_result ( );
// bind_result ( ) bindet die Werte an Variablen.
6
$stmt -> bind_result ( $vor_name, $name, $mail );
// fetch ( ) Ruft die Ergebnisse zu den Variablen ab.
7
$stmt -> fetch ( );
8
echo $vor_name ; // Peter
9
echo $name ; // Maier
10
echo $mail ; // petermaier@mail.de
// $stmt -> close ( ) und $mysqli -> close ( ) noch einfügen.
 
?>
Kann über ein Formular angesprochen werden.

SELECT Alle Zeilen auswählen
 
<?php
1
$stmt = $mysqli -> prepare ( ' SELECT vor_name, name, mail FROM personen ' );
2
$stmt -> execute ( );
3
$stmt -> store_result ( );
4
$stmt -> bind_result ( $vor_name, $name, $mail );
5
while ( $stmt -> fetch ( ) ) {
6
echo $vor_name ;
7
echo $name ;
8
echo $mail ;
9
}
// $stmt -> close ( ) und $mysqli -> close ( ) noch einfügen.
 
?>


INSERT eine Zeile einfügen
 
<?php
1
$stmt = $mysqli -> prepare ( ' INSERT INTO personen ( vor_name, name, mail ) VALUES ( ?, ?, ? ) ' );
2
$vor_name = $mysqli -> real_escape_string ( $_REQUEST [' vor_name '] );
3
$name = $mysqli -> real_escape_string ( $_REQUEST [' name '] );
4
$mail = $mysqli -> real_escape_string ( $_REQUEST [' mail '] );
5
$stmt -> bind_param ( ' s s s ', $vor_name, $name, $mail );
6
if ( $stmt -> execute ( ) ) {
7
echo " Datensatz erfolgreich eingefügt. ";
8
} else {
9
echo " Fehler - Meldung. " ;
10
}
// $stmt -> close ( ) und $mysqli -> close ( ) noch einfügen.
 
?>
Wird über ein Formular angesprochen.

UPDATE einen Eintrag ändern
 
<?php
1
$stmt = $mysqli -> prepare ( ' UPDATE personen SET ( mail = ? ) WHERE id = ? LIMIT 1 ' );
2
$mail = " udoschmidt@mail.com " ;// oder $mysqli -> real_escape_string ( $_REQUEST ['mail'] );
3
$id = " 2 " ;// oder $mysqli -> real_escape_string ( $_GET ['id'] );
4
$stmt -> bind_param ( ' s i ', $mail, $id );
5
if ( $stmt -> execute ( ) ) {
6
echo " Datensatz erfolgreich geändert. ";
7
} else {
8
echo " Fehler - Meldung. " ;
9
}
// $stmt -> close ( ) und $mysqli -> close ( ) noch einfügen.
 
?>
Kann über ein Formular angesprochen werden.

DELETE eine Zeile löschen
 
<?php
1
$stmt = $mysqli -> prepare ( ' DELETE FROM personen WHERE id = ? ' );
2
$userId = 4 ;// oder $mysqli -> real_escape_string ( $_REQUEST ['userId'] );
3
$stmt -> bind_param ( ' i ', $userId );
4
if ( $stmt -> execute ( ) ) {
5
echo " Datensatz erfolgreich gelöscht. ";
6
} else {
7
echo " Fehler - Meldung. " ;
8
}
// $stmt -> close ( ) und $mysqli -> close ( ) noch einfügen.
 
?>
Kann über ein Formular angesprochen werden.