SQL-Insert-Befehl

Fragen rund um PHP,HTML,CSS und MySQL

SQL-Insert-Befehl

Beitragvon Jantxu » 31. Okt 2006, 20:22

Hallo Leute, ich habe ein PHP-Script gebastelt mit dem man neue Vorlesungen in eine DAtenbank einspeisen kann. Funktioniert eigentlich auch problemlos und der DAtensatz wird angelegt. Allerdings gibt mir das Programm immer noch die Fehlermeldung für einen nicht erfolgreichen Eintrag in die Datenbank an. Hier ist der Code
Code: Alles auswählen
<?php
if ( empty($_POST["id"]) OR empty($_POST["beleg_nr"]) OR  empty($_POST["Startdatum"]) OR  empty($_POST["Tag"]) OR  empty($_POST["Beginn"]) OR  empty($_POST["Ende"]) OR  empty($_POST["Semester"]) OR  empty($_POST["kommentar"])) {
echo 'Bitte Vorlesung auswählen:<br />';
$qry = 'SELECT * FROM IWI_vorlesungen';
$sql = new sql();
$sql->setQuery($qry);
echo '<form action="' .$PHP_SELF .'" method="POST">';
for($i = 0; $i < $sql->getRows(); $i++) {
echo '<input type="radio" name="beleg_nr" value="'.$sql->getValue('Beleg_Nr') .'" />'.$sql->getValue('Beleg_Nr') .' | ' .$sql->getValue('Bezeichnung').'<br />';
$sql->next();
}
echo '<hr />';
echo 'Bitte Dozent auswählen:<br />';
$qry = 'SELECT * FROM IWI_mitarbeiter';
$sql = new sql();
$sql->setQuery($qry);
for($i = 0; $i < $sql->getRows(); $i++) {
echo '<input type="radio" name="id" value="'.$sql->getValue('id') .'" />'.$sql->getValue('id') .' | ' .$sql->getValue('name').'<br />';
$sql->next();
}

echo '<hr />';
echo 'Weitere Angaben:<br />';
echo '<form>';
echo '<input type="text" size="15" name="Startdatum" value="" /><label for ="name"> Startdatum (Format: DD.MM.YY)</label><br />'; 
echo '<input type="text" size="15" name="Tag" value="" /><label for ="name"> Tag </label><br />';
echo '<input type="text" size="15" name="Beginn" value="" /><label for ="name"> Beginn (Format: hh.mm)</label><br />';
echo '<input type="text" size="15" name="Ende" value="" /><label for ="name"> Ende (Format: hh.mm)</label><br />';
echo '<input type="text" size="15" name="Semester" value="" /><label for ="name"> Semester (Format: WS 06/07)</label><p />';
echo 'Kommentar<br />';
echo '<textarea cols="20" cols="10" rows="5" name="kommentar" value=""></textarea>';
echo '<input type="Submit" value="Absenden" />';
echo '<input type="Reset" value="Zuruecksetzen" />';
echo '</form>';
}
else   {
$null = 'NULL';
$sql = new sql();
$sql->setTable('IWI_Mitarbeiter_Vorlesungen');
$sql->setValue('id', $null);
$sql->setValue('mitarbeiter_id', $_POST["id"]);
$sql->setValue('vorlesungs_id', $_POST["beleg_nr"]);
$sql->setValue('Startdatum', $_POST["Startdatum"]);
$sql->setValue('Wochentag', $_POST["Tag"]);
$sql->setValue('Uhrzeit_von', $_POST["Beginn"]);
$sql->setValue('Uhrzeit_bis', $_POST["Ende"]);
$sql->setValue('Semester', $_POST["Semester"]);
$sql->setValue('Kommentar', $_POST["kommentar"]); 
if($sql->insert()){
echo 'Die Vorlesung wurde angelegt<br />'; }
else {
echo 'Fehler beim einfügen<br />'; }
echo '<a href="index.php?article_id=39">Neue Vorlesung anlegen</a>';
}
?>

Klar, ich könnte die Fehlermeldung einfach rausnehmen, aber mich interessiert, wieso sie trotz erfolgreichem Eintrag immer noch angezeigt wird.

Viele Grüße,
Jan
Jantxu
 
Beiträge: 21
Registriert: 3. Okt 2006, 15:12
Wohnort: Hannover

Beitragvon zehbaeh » 31. Okt 2006, 22:08

Evtl. verwendest Du ja eine andere Version der sql-Klasse, bei der hier vorliegenden Version aus Redaxo 3.2 liefert die Methode "insert" dieser Klasse
jedenfalls von sich aus kein Ergebnis (enthält kein return - Statement).

Die Methode setzt aber das error - Attribut der Klasse.
Letzteres ist per sql->getError() abfragbar.
zehbaeh
 
Beiträge: 563
Registriert: 17. Okt 2006, 10:52
Wohnort: Solingen

Beitragvon Markus.Staab » 1. Nov 2006, 09:53

Hi,

das mit if($sql->insert()) geht erst mit dem nächsten Release.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon Jantxu » 1. Nov 2006, 10:39

Super, vielen Dank für die Antworten!

Grüße,
Jan
Jantxu
 
Beiträge: 21
Registriert: 3. Okt 2006, 15:12
Wohnort: Hannover


Zurück zu PHP/HTML/CSS/MySQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast