HILFE: PHP Daten Ein und Ausgabe mit mySQL

chillor

Grünschnabel
Also ich brauch Hilfe, ich schaffe es nicht Daten per PHP Script in die Datenbank einzutragen.
Kurze Info noch: Hab ein Windows XP Client mit mySQL Server und auf VMware mein Linux was den Webserver mit PHP extensions macht.
Also kurzer Wegablauf der Verarbeitung: WinXP IE6 -> VMware Linux(PHPScript) -> WinXP SQL DB ->VMwareLinux ->WinXP IE6.
DB verbindung bekomme ich hin... mit PHP komm ich auch ganz gut zurecht denke ich.... also.. mal mein eingabe Script das per POST di Daten an das PHP Script übergibt:
test.html
<html>
<body>
<form action="input.php" method="POST">
Name: <input name="name" size="20" maxlength="20"><br>
E-Mail: <input name="mail" size="20" maxlength="20"><br>
Text: <input name="text" size="100" maxlength="160"><br>
<input type="submit" value="Und ab damit!">
</form>
</body>
</html>
Dann das PHP Script das die Daten verarbeitet und in die SQL DB eintragen soll:
input.php
<?php
$db_server="xxxx";
$db_name="daten";
$db_user="xxxx";
$db_passwort="xxxx";
$gb_name=$_POST['name'];
$gb_mail=$_POST['mail'];
$gb_text=$_POST['text'];
$db = @mysql_connect($db_server,$db_user,$db_passwort) or die ("Keine Verbindung zur Datenbank");
mysql_query("INSERT INTO eintraege(name,e-mail,text) VALUES ('$gb_name','$gb_mail','$gb_text')");
mysql_close($db);
printf("Vielen Dank %s fuer deinen Eintrag: %s", $gb_name, $gb_text);
echo mysql_error();
?>
[EDIT]Erfolg eintragen funktioniert

oaky und das Ausgabe Script:
auslesen.php
<?php
$db_server="xxxx";
$db_name="daten";
$db_user="xxx";
$db_passwort="xxx";
$db = mysql_connect($db_server,$db_user,$db_passwort) or die ("Geht net");
$abfrage = "Select name from eintraege";
$erg = mysql_query($abfrage);
if (mysql_num_rows($erg) > 0)
{
while(list($name, $text) =mysql_fetch_row($erg))
{
echo "$Name hat folgende Nachricht hinterlassen $text<br>\n";
}
}else{
echo('Keine Enträge vorhanden');
}
mysql_close($db);
echo mysql_error();
?>
mit der IF Abfrage bin ich mir nicht ganz sicher... sogut kann ich PHP noch net..

Also mal danke im Vorraus... für die Antworten und die Hilfen...
 
Zuletzt bearbeitet:
Original geschrieben von chillor
Also ich brauch Hilfe, ich schaffe es nicht Daten per PHP Script in die Datenbank einzutragen.
1. Das Board hat Syntax-Highlighting, bitte das nächste mal benutzen! :p

2. Wo wählst Du denn in Deinem Script die Datenbank aus?

3. Nachdem Du die Datenbank ausgewählt hast, solltest Du die Funktion mysql_query um
PHP:
or die(mysql_error())
erweitert, damit eventuelle Fehlermeldungen ausgegeben werden.
 
jo stimmt das mysql_select_db hab ich vergessen..

okay hab jetzt noch
PHP:
$db_select=mysql_select_db($db_name);

eingefügt
aber wo muss ich das $db_select nochmals aufrufen, den er sagt mit dem
PHP:
$erg = mysql_query($abfrage) or die (mysql_error());
von Chino
"no Database selected"

weiterhin danke für alle Antworten.

[EDIT]
hab warum Database nicht selected war.. hab den namen falsche geschrieben.
So das läuft jetzt bis zur Fehlermeldung:
Code:
 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/gb/auslesen.php on line 11

mhhh hab ich dort eine falsche Variable überprüft?
welche den Wert 0 nie überschreiten kann....
 
Zuletzt bearbeitet:
Kann das sein das ich die Variablen falsch hole ?

des coole mysql_error() hat mir folgendes ausgegeben....
Code:
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 '-mail,text) VALUES ('asda','','dasdasd')' at line 1
[EDIT]
auch geklärt e-mail funtioniert nicht, habs in mail umbennant.. aber nach wie vor immer noch:

Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/gb/auslesen.php on line 11

und keine Enträge in der DB
 
Zuletzt bearbeitet:
Also funkitioniert alles jetzt hab nur noch eine kleine Frage:
wenn der Code:
PHP:
 $db = mysql_connect($db_server,$db_user,$db_passwort) or die ("Geht net");
$db_select= mysql_select_db($db_name) or die (mysql_error());
$abfrage = "Select name,text from input";
$erg = mysql_query($abfrage) or die (mysql_error());
echo "Steht was drin!<br />\n";
while($row=mysql_fetch_assoc($erg)) {
	echo "Name: &gt; ";
	echo $row['name'];
	echo "Text: &gt; ";
	echo $row['text'];
	echo ("<br>");
wie kann ich das Echo in eine Zeile schreiben.. also so:

PHP:
 $db = mysql_connect($db_server,$db_user,$db_passwort) or die ("Geht net");
$db_select= mysql_select_db($db_name) or die (mysql_error());
$abfrage = "Select name,text from input";
$erg = mysql_query($abfrage) or die (mysql_error());
echo "Steht was drin!<br />\n";
while($row=mysql_fetch_assoc($erg)) {
	echo "Name: &gt; ";
	echo $row['name'] "Text: &gt; ";
	echo $row['text'];
	echo ("<br>");
kommt immer die Meldung
Code:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /srv/www/htdocs/gb/auslesen.php on line 13
das wäre dann alles... danke an alle und die letzte Frage wäre mir noch wichtig.
 
Zurück