DatenBankTabellen
Info
Im Internet ist zu lesen das eine Datenbank-Abfrage nicht immer Prepared Statement benötigt.
Ich lege es jedem nahe immer Prepared Statement zu nutzen.
Ich lege es jedem nahe immer Prepared Statement zu nutzen.
Hinweis
tabelle sollte immer mit eigenem Tabellennamen ersetzt werden!
$myvar sollte immer mit eigenem Variablennamen ersetzt werden!
Auswählen ohne prepared
<?php
Tabellen-Fehler abfangen
try {Daten Auswählen
$sql = 'SELECT * FROM tabelle';$myvar = $pdo->query($sql);
Tabelle auf Daten prüfen:
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 3 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
foreach ($myvar as $row){
echo $row['1']; // spalte1
echo $row['2']; // spalte2
echo $row['3']; // spalte3
echo $row['4']; // spalte4
}
?>
Ausgabe ist noch akzeptabel.
Ohne execute(); (Ausführen) wird keine Anweisung (prepared) ausgeführt!
Auswählen mit prepared
<?php
Tabellen-Fehler abfangen
try {Daten Auswählen
$sql = "SELECT * FROM tabelle";$myvar = $pdo->prepare($sql);
Ausführen:
$myvar->execute();
Tabelle auf Daten prüfen:
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 3 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
while($row = $myvar->fetch()){
echo $row['id'];
echo $row['spalte1'];
echo $row['spalte3'];
echo $row['spalte4'];
}
?>
Besser nur wählen was benötigt wird:
<?php
Tabellen-Fehler abfangen
try {Daten Auswählen
$sql = "SELECT id, spalte1, spalte2, spalte3, spalte4FROM tabelle";
$myvar = $pdo->prepare($sql);
Ausführen
$myvar->execute();
Tabelle auf Daten prüfen:
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 3 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
while($row = $myvar->fetch()){
echo $row['0']; // id
echo $row['1']; // spalte1
echo $row['2']; // spalte2
echo $row['3']; // spalte3
echo $row['4']; // spalte4
}
?>
Auswählen ohne prepared mit WHERE-Filter
<?php
Variable bestimmen
$id = 2;
Tabellen-Fehler abfangen
try {Daten Auswählen
$sql = "SELECT * FROM tabelle WHERE id = ".$id."";$myvar = $pdo->query($sql);
Tabelle auf Daten prüfen:
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
foreach ($pdo->query($sql) as $row){
echo $row['id'];
echo $row['spalte1'];
echo $row['spalte3'];
echo $row['spalte4'];
}
?>
Ausgabe ist SQL-Injektions gefährdet!
Auswählen mit prepared und WHERE-Filter
<?php
Variable bestimmen
$id = 2;
Tabellen-Fehler abfangen
try {
Daten Auswählen mit Platzhalter
$sql = "SELECT * FROM tabelleWHERE id = ?";
$myvar = $pdo->prepare($sql);
Parameter binden:
$myvar->bindParam(1, $id, PDO::PARAM_INT);
Ausführen:
$myvar->execute();Tabelle auf Daten prüfen:
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben:
$row = $myvar->fetch();echo $row['id'];
echo $row['spalte1'];
echo $row['spalte3'];
echo $row['spalte4'];
?>
Besser nur wählen was benötigt wird
<?php
Tabellen-Fehler abfangen
try {
Daten Auswählen mit Platzhalter
$sql = "SELECT id, spalte1, spalte3, spalte4FROM tabelle
WHERE id = ?";
$myvar = $pdo->prepare($sql);
Parameter binden:
$myvar->bindParam(1, $id, PDO::PARAM_INT);
Ausführen
$myvar->execute();
Tabelle auf Daten prüfen
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
$row = $myvar->fetch();echo $row['id'];
echo $row['spalte1'];
echo $row['spalte3'];
echo $row['spalte4'];
?>
Auswählen mit prepared und WHERE-Filter
<?php
Variable bestimmen
$id = 2;
Tabellen-Fehler abfangen
try {Daten Auswählen mit benannten Parameter
$sql = "SELECT * FROM tabelleWHERE id = :id";
$myvar = $pdo->prepare($sql);
Parameter binden:
$myvar->bindParam(':id', $id, PDO::PARAM_INT);
Ausführen
$myvar->execute();
Tabelle auf Daten prüfen
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
$row = $myvar->fetch();echo $row['id'];
echo $row['spalte1'];
echo $row['spalte3'];
echo $row['spalte4'];
?>
Besser nur wählen was benötigt wird
<?php
Tabellen-Fehler abfangen
try Daten Auswählen mit benannten Parameter
$sql = "SELECT id, spalte1, spalte3, spalte4FROM tabelle
WHERE id = :id";
$myvar = $pdo->prepare($sql);
Parameter binden
$myvar->bindParam(':id', $id, PDO::PARAM_INT);
Ausführen
$myvar->execute();
Tabelle auf Daten prüfen
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
$row = $myvar->fetch();echo $row['id'];
echo $row['spalte1'];
echo $row['spalte3'];
echo $row['spalte4'];
?>
Select mit Platzhalter, Ausgabe als Variablen
<?php
Variable bestimmen
$id = 2;
Tabellen-Fehler abfangen
try {
Daten Auswählen
$sql = "SELECT id, spalte1, spalte3, spalte4FROM tabelle
WHERE id = ?";
$myvar = $pdo->prepare($sql);
Parameter binden
$myvar->bindParam(1, $id, PDO::PARAM_INT);
Spalten binden
$myvar->bindColumn(1,$id);$myvar->bindColumn(2,$spalte1);
$myvar->bindColumn(3,$spalte3);
$myvar->bindColumn(4,$spalte4);
Ausführen
$myvar->execute();
Tabelle auf Daten prüfen
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
$myvar->fetch();echo $id;
echo $spalte1;
echo $spalte3;
echo $spalte4;
?>
oder so
<?php
Tabellen-Fehler abfangen
try {
Daten auswählen prepared mit Parameter, Ausgabe als Variablen
$sql = "SELECT id, spalte1, spalte3, spalte4FROM tabelle
WHERE id = :id";
$myvar = $pdo->prepare($sql);
Parameter binden
$myvar->bindParam(':id', $id, PDO::PARAM_INT);
Spalten binden
$myvar->bindColumn(1,$id);$myvar->bindColumn(2,$spalte1);
$myvar->bindColumn(3,$spalte3);
$myvar->bindColumn(4,$spalte4);
Ausführen
$myvar->execute();
Tabelle auf Daten prüfen
$nofile = $myvar->rowCount();if (empty($nofile))
{
echo "Keine Daten vorhanden";
}
Tabellen-Fehler Meldung
} catch (PDOException $dvp) {die ("Meine Tabelle 4 Fehler in Zeile: ".$dvp->getLine()); }
Daten Ausgeben
$myvar->fetch();echo $id;
echo $spalte1;
echo $spalte3;
echo $spalte4;
?>