Probleme mit query?

Hieroglyphe

Grünschnabel
Hallo,
Ich habe ein Script (weiter unten) welche Daten anzeigen soll und eintragen.
Nun möchte ich nach dem eintragen jedoch die Daten zum Tier angezeigt bekommen, jedoch klappt das aus irgendeinen Grund nicht.
Ich vermute das der query irgendwelche Probleme macht. Ich hoffe mir kann wer Helfen.
PHP:
<?php
// Zunächst brauchen wir eine Datenbankverbindung:
$verbindung = mysql_pconnect( "localhost", "", "" ) ; mysql_select_db("",$verbindung);  

if (!$verbindung) // War die verbindung NICHT erfolgreich? -> Wenn ja: Fehler auswerfen und beenden
{
    echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>";
    exit;
}

echo ' 
<form method="POST" action="daten2.php"> 
<select size="1" name="tierauswahl"> 
'; 



$query = mysql_query('select id,name from tier'); //Alle tiere aus datenbank laden 
while($row = mysql_fetch_assoc($query)) //daten von jedem tier nacheinander in das array $row schreiben 
{ 
echo '<option>'.$row['id'].' | '.$row['name'].'</option>'; //tiere in das formular (drop down) schreiben 
} 


echo ' 
</select> 
<input type="submit" value="Absenden" name="auswahl"> 
</form> 
'; 


if(isset($_POST['auswahl'])) //falls formular abgeschickt 
{ 
$id = substr($_POST['tierauswahl'], 0, 1); // id ermitteln, id steht ja an erster stelle des strings 

$query = mysql_query('select name,art,geboren from tier where id = '.$id); //nochmal die daten des einzelnen tieres mit der id aus der tabelle tier laden. 
while($row = mysql_fetch_assoc($query)) //ins array schreiben 
{ 
echo $id.' | '.$row['name'].' | '.$row['art'].' | '.$row['geboren']; //ausgeben 
} 

echo '<br/><br/>'; 

$query = mysql_query('select groesse,gewicht,datum from daten where tid = '.$id.' order by datum desc'); 
//jetzt alle daten raussuchen dessen tid = der gegeben id ist und sofort nach dem datum (timestamp) sortieren. desc gegen asc austauschen um sortierreihenfolge umzukehren. 
while($row = mysql_fetch_assoc($query)) 
{ 
echo $row['groesse'].' | '.$row['gewicht'].' | '.date("d.m.Y",$row['datum']).'<br/>'; //alle gefundenen daten ausgeben 
} 
} 

?>

<?php echo 'select name,art,geboren from tier where id = '.$id;  ?>

<?php echo "Tier ID: ".$id; ?>

<form method="POST" action="<?php echo $PHP_SELF ?>"> 
<input type="hidden" name="tierauswahl" size="6" value="<?php echo $id; ?>" readonly><br> 
Gr&ouml;&szlig;e:<input type="text" name="groesse" size="20"><br> 
Gewicht: <input type="text" name="gewicht" size="20"> <br> 
Datum: <input type="text" name="datum" size="20"> 
<p><input type="submit" value="Speichern" name="auswahl"><input type="reset" value="Zur&uuml;cksetzen" name="B2"></p> 
</form> 

<?php 

if(isset($_POST['groesse'])) 
{ 
//Datum teilen 
$teil = explode(".", $datum); 


$tierid = $id; 
$groesse = $groesse; // -"- 
$gewicht = $gewicht; // -"- 
$datum = mktime(0,0,0,$teil[1],$teil[0],$teil[2]); // -"- 


$sqlkommando = "INSERT INTO $dbname (tid, groesse, gewicht, datum) VALUES ('$tierid', '$groesse', '$gewicht', '$datum')"; 
 

mysql_query($sqlkommando) or die("Error: " . mysql_error()); // Kommando 'sqlkommando' ausfuehren 
// bei misserfolg beenden und fehlermeldung ausgeben 

echo "Eintragung erfolgreich hinzugef&uuml;gt"; // Bestätigung ausgeben 
}  

?>
 
was soll dies hier denn?
PHP:
<?php echo 'select name,art,geboren from tier where id = '.$id;  ?>
 
Ich wollte damit kontrollieren ob er auch korrekt die id übergibt...

tut er auch...

Aber es kommt eine Fehlermeldung folgender Form:

Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(tid, groesse, gewicht, datum) VALUES ('1', '25', '2200', '2007

Ich kann damit nichts anfangen.
 
Zurück