Ich habe hier ein HTML-Formular, dessen Eingaben nicht in eine, sondern in zwei Tabellen derselben Datenbank geschrieben werden sollen. Mein erster Ansatz war, die SQL queries hintereinander zu reihen und in einer Variablen zu speichern.
Das produziert leider eine Fehlermeldung: 'PDOException' with message 'SQLSTATE[HY000]: General error: 1065 Query was empty' .
Wie macht man denn so etwas? Aufsplittung in zwei Abfragen, mit zwei Arrays und if (wenn das erste query erfolgreich war, dann führe das zweite aus)? Ich brauche als Ergebnis einen Rückgabewert.
PHP:
function lege_produkt_an ($db)
{
if ($_POST) {
$produkt = array(
':artikel_gruppe' => $_POST['artikel_gruppe'],
':artikel_name' => ucfirst($_POST['artikel_name']),
':artikel_ausfuehrung' => $_POST['artikel_ausfuehrung'],
':artikel_detail' => ucfirst($_POST['artikel_detail']),
':artikel_auflage' => $_POST['artikel_auflage'],
':artikel_preis' => $_POST['artikel_preis']
);
$abfrage = 'INSERT INTO produkte (artikel_gruppe, artikel_name, artikel_ausfuehrung, ' .
'artikel_detail) VALUES (:artikel_gruppe, :artikel_name, :artikel_ausfuehrung, ' .
':artikel_detail)';
'INSERT INTO preise (artikel_gruppe, artikel_auflage, artikel_preis) ' .
'VALUES (:artikel_gruppe, :artikel_auflage, :artikel_preis)';
$abfrage = $db->prepare($sql);
$abfrage->execute($produkt);
} else {
echo 'Fehler beim Eintrag in die Datenbank';
}
return $abfrage;
}
Das produziert leider eine Fehlermeldung: 'PDOException' with message 'SQLSTATE[HY000]: General error: 1065 Query was empty' .
Wie macht man denn so etwas? Aufsplittung in zwei Abfragen, mit zwei Arrays und if (wenn das erste query erfolgreich war, dann führe das zweite aus)? Ich brauche als Ergebnis einen Rückgabewert.