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(':spalte1' => $beitrag1, ':spalte2' => $beitrag2));

$sql="UPDATE a_table SET spalte1 = :spalte1, spalte2 = :spalte2 WHERE id = :id";
$stmt=$pdo->prepare($sql);
$stmt->execute(array(':spalte1' => $beitrag1, ':spalte2' => $beitrag2, ':id' => $id));
?>
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(':id', $id, PDO::PARAM_INT );
$stmt->bindParam(':spalte1', $beitrag1, PDO::PARAM_STR);
$stmt->bindParam(':spalte2', $beitrag2, PDO::PARAM_STR);
$stmt->execute();
?>
Top
Top