Forum: Datenbanken
by mkinzler,
6. Jul 2011
Dafür wird das System dann schneller, übersichtlicher und sicherer.
Forum: Datenbanken
by mkinzler,
6. Jul 2011
$stmt = $mysqli->prepare("insert into person ( name, vorname) values ( ?, ?);");
$stmt->bind_param("ss", 'Puff', 'Michael');
http://php.net/manual/de/mysqli-stmt.bind-param.php
Forum: Datenbanken
by mkinzler,
6. Jul 2011
Passiert schnell, wenn man hier GET oder POST-Werte einsetzt.
Dem Parameter wird der Wert zugewiesen. (In diesem Fall hat dieser keinen Namen)
Forum: Datenbanken
by mkinzler,
6. Jul 2011
Dann musst du die mysqli-Funktionen nutzen:
<?php
$mysqli = new mysqli("server", "username", "password", "database_name");
// TODO - Check that connection was successful.
$unsafe_variable = $_POST;
$stmt = $mysqli->prepare("INSERT INTO table (column) VALUES (?)");
Forum: Datenbanken
by mkinzler,
6. Jul 2011
DataSet.SQL.Text := '<Abfrage>';
DataSet.Prepare;
1. Abfrage: Puff oder Bordell
DataSet.ParamByName('such1').Value := 'Puff';
DataSet.ParamByName('such2').Value := 'Bordell';
DataSet.Open;
2.Abfrage: Puff oder Mayer
DataSet.ParamByName('such2').Value := 'Mayer';
Forum: Datenbanken
by mkinzler,
6. Jul 2011
:such1 und :such 2 sind die Parameter in der parametrisierten Abfrage.
Parameter haben den Vorteil, dass eine solche Abfarge leicht wiederverwendebar ist. Es muss dann nur noch der/die geänderten Parameter übertragen werden.
Forum: Datenbanken
by mkinzler,
6. Jul 2011
SELECT
a.*,
k.name as k_name,
k.vorname as k_vorname
from
adressen a
LEFT OUTER JOIN adr_kategorien k on k.id = a.kategorie_id
WHERE
(a.name LIKE :such1) OR (a.vorname LIKE :such2)
ORDER BY