pdo statements
Grundlagen
Bei INSERT oder UPDATE muß die reihenfolge genau wie in der erstellten Tabelle sein!
<?php
$sql = " SELECT spalte1, spalte2, datum FROM a_table ";
$stmt = $msql->prepare ( $sql );
?>
$sql =...prepare($sql); ist das gleiche wie:
<?php
$stmt = $msql->prepare ( " SELECT spalte1, spalte2, datum FROM a_table " );
?>
<?php
$sql = " SELECT spalte1, spalte2, datum FROM a_table ";
$stmt = $pdo->prepare ( $sql );
?>
$sql =...prepare($sql); ist das gleiche wie:
<?php
$stmt = $pdo->prepare ( " SELECT spalte1, spalte2, datum FROM a_table " );
?>
<?php
$sql = "INSERT INTO a_table (spalte1, spalte2) VALUES (?, ?)";
$stmt=$msql->prepare($sql);
....
$stmt->bind_param('ss', $spalte1, $spalte2);

$sql = "UPDATE a_table SET spalte1=?, spalte2=? WHERE id=?";
$stmt=$msql->prepare($sql);
....
$stmt->bind_param('ssi', $spalte1, $spalte2, $id);
?>
bind_param('ssi',$spalte1,$spalte2,$id);
Für was steht ssi
s = string (buchstaben,zahlen,kommata usw.)
i = integer (nur zahlen nichts anderes)
<?php
$sql = "INSERT INTO a_table (spalte1, spalte2) VALUES (?, ?)";
$stmt=$pdo->prepare($sql);
....
$stmt->execute(array($beitrag1, $beitrag2));

$sql = "UPDATE a_table SET spalte1=?, spalte2=? WHERE id=?";
$stmt=$pdo->prepare($sql);
....
$stmt->execute(array($beitrag1, $beitrag2, $id));
?>
WHERE id = ? ist mit Anonymus(?) der letzte gebundene parameter.
PDO mit benannten Parametern
<?php
$sql="INSERT INTO a_table (spalte1, spalte2) VALUES (:spalte1, :spalte2)";
$stmt=$pdo->prepare($sql);
$stmt->execute(array(':spalte2' => $beitrag2, ':spalte1' => $beitrag1));

$sql="UPDATE a_table SET spalte1 = :spalte1, spalte2 = :spalte2 WHERE id = :id";
$stmt=$pdo->prepare($sql);
$stmt->execute(array(':id' => $id, ':spalte1' => $beitrag1, ':spalte2' => $beitrag2));
?>
Mit PDO gibt es verschiedene schreibweisen für das gleiche Ziel
<?php
$stmt=$pdo->prepare("INSERT INTO a_table (spalte1, spalte2) VALUES (:spalte1, :spalte2)");
$stmt->bindParam (":spalte1", $beitrag1, PDO::PARAM_STR);
$stmt->bindParam (":spalte2", $beitrag2, PDO::PARAM_STR);
$stmt->execute();

$stmt=$pdo->prepare( "UPDATE a_table SET spalte1=:spalte1, spalte2=:spalte2 WHERE id=:id");
$stmt->bindParam(':spalte2', $beitrag2, PDO::PARAM_STR);
$stmt->bindParam(':id', $id, PDO::PARAM_INT );
$stmt->bindParam(':spalte1', $beitrag1, PDO::PARAM_STR);
$stmt->execute();
?>
Datum umwandeln
So steht das Datum in der Datenbank:
2023-01-15 14:26:13
(Y-m-d H:i:s)
Datum umwandeln von:
2023-01-15 14:26:13
(Y-m-d H:i:s)
in:
15.01.2023 - 14:26:13
(d.m.Y - H:i:s)
geht so:
Datum aus Datenbank holen
<?php
$datum = new DateTime($row['datum']);
Als variable
$datum = new DateTime($newdatum);
Datum im neuem Format ausgeben
echo $datum->format('d.m.Y - H:i:s');
?>
Ergebnis: 15.01.2023 - 14:26:13
Holen und Ausgeben kommt in Daten
Top
Top