Hallo,
für ein Projekt in der Schule soll ich eine digital Community coden. Bin gerade dabei ein Forum zu schreiben, welches auch zu Beginn recht gut funktionierte, jedoch stellte sich die Funktionalität vom einen auf den anderen Moment ein. Das Problem liegt dabei, dass ich eine Variable in Mysql einlesen möchte, welche mir vorher als korrekter Wert angezeigt wird (echo gibt korrekten Wert aus), im Endeffekt aber als Wert 0 in die Datenbank eingelesen wird (Es handelt sich hierbei um den Wert, der die Antworten dem jeweiligen Topic zuordnet).
Ich habe die SuFu benutzt und auch im Handbuch nachgelesen, aber nichts gefunden. Außerdem wird keine Fehlermeldung ausgegeben!
"echo $id;" gibt den richtigen Wert aus. (nur eine einfache Zahl, die aber nie 0 ist)
In der Datenbank erscheint in der Spalte 'question_id' jedoch eine 0.
'question_id' ist so in Mysql eine Integer(4) und mit dem Standard 0 definiert.
MfG
für ein Projekt in der Schule soll ich eine digital Community coden. Bin gerade dabei ein Forum zu schreiben, welches auch zu Beginn recht gut funktionierte, jedoch stellte sich die Funktionalität vom einen auf den anderen Moment ein. Das Problem liegt dabei, dass ich eine Variable in Mysql einlesen möchte, welche mir vorher als korrekter Wert angezeigt wird (echo gibt korrekten Wert aus), im Endeffekt aber als Wert 0 in die Datenbank eingelesen wird (Es handelt sich hierbei um den Wert, der die Antworten dem jeweiligen Topic zuordnet).
Ich habe die SuFu benutzt und auch im Handbuch nachgelesen, aber nichts gefunden. Außerdem wird keine Fehlermeldung ausgegeben!
PHP-Code:
<?php
$host="localhost";
$username="admin";
$password="password";
$db_name="projekt";
$tbl_name="forum_answernew";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get value of id
$id=$_POST['id'];
echo $id;
// Find highest answer number.
$sql="SELECT MAX(a_id) AS Maxa_id FROM $tbl_name WHERE question_id='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
// add + 1 to highest answer number. keep it in "$Max_id". if there no answer yet set it = 1
if ($rows) {
$Max_id = $rows['Maxa_id']+1;
}
else {
$Max_id = 1;
}
// get values that sent from form
$a_name="Name";
$a_email="Mail";
$a_answer=$_POST['a_answer'];
$datetime=date("d/m/y H:i:s"); // create date and time
// Insert answer
$sql2="INSERT INTO $tbl_name(question_id, a_id, a_name, a_email, a_answer, a_datetime)VALUES('$id', '$Max_id', '$a_name', '$a_email', '$a_answer', '$datetime')";
$result2=mysql_query($sql2);
if($result2){
echo "Successful<BR>";
echo "<a href='view_topic.php?id=".$id."'>View your answer</a>";
// If added new answer, add value +1 in reply column
$tbl_name2="forum_questionnew";
$sql3="UPDATE $tbl_name2 SET reply='$Max_id' WHERE id='$id'";
$result3=mysql_query($sql3);
}
else {
echo "ERROR";
}
mysql_close();
?>
In der Datenbank erscheint in der Spalte 'question_id' jedoch eine 0.
'question_id' ist so in Mysql eine Integer(4) und mit dem Standard 0 definiert.
MfG


Kommentar