Hallo ! ;-)
Ich habe hier ein kleines Problem. Ich bin mit PHP und MySQL noch ganz neu. ... Sicher ist das hier nur ein sehr kleines Problem .
Vielleicht kann mir ja jemand helfen.
Es handelt sich um ein einfaches in PHP geschriebenes Gästebuch.
Die Daten werden auf 'sign.php' eingegeben :
<?php include ("dbconnect.php"); ?>
<h2>Signieren Sie mein Gästebuch !!!</h2>
<form method=post action="create_entry.php">
<b>Name:</b>
<input type=text size=40 name=name>
<br>
<b>Ort:</b>
<input type=text size=40 name=ort>
<br>
<b>E-Mail:</b>
<input type=text size=40 name=email>
<br>
<b>URL:</b>
<input type=text size=40 name=url>
<br>
<b>Kommentar:</b>
<textarea name=kommentar cols=40 rows=4 wrap=virtual></textarea>
<br>
<input type=submit name=submit value="submit">
<input type=reset name=reset value="Löschen">
</form>
Es sollte dann 'create_entry.php' die Daten in MySQL einfügen :
<?php include("dbconnect.php"); ?>
<?php
if ($submit == "submit")
{
$query = "insert into gaestebuch "
." (name,ort,email,url,kommentar) values "
."('$name', '$ort', '$email', '$url', '$kommentar')"
;
//mysql_query($query);
safe_query($query);
echo mysql_error();
?>
<h2>Danke!!</h2>
<h2><a href="view.php">Sehen Sie mein Gästebuch an!!!</a></h2>
<?php
}
else
{
echo mysql_error();
include("sign.php");
}
?>
Das Problem ist, daß sich einfach keine Daten in die Datenbank einfügen lassen.
Dagegen funktioniert die Ausgabe mittels z.B.:"select * from ..." anstandslos.Nur funktioniert die "insert"-anweisung nicht, es werden keine Daten in die Datenbank eingefügt.
Es könnte sich nun um einen Fehler im PHP-Script handeln, ich vermute mittlerweile aber eher, daß es sich hier um das altbekannte Problem der Benutzerrechte handelt ....Benutze ich die Datenbank "test" samt tabellen tut sich nichts und es gibt auch keine Fehlermeldungen.
Nun habe ich mich unter
mysql_connect("localhost", "jobst@localhost" , "")- als jobst@localhost (ohne Passwort) versucht einzuloggen. MySQL habe ich die Anweisung "grant all on *.* to jobst@localhost" gegeben. Auf jeden Fall müßte ich nun doch als jobst@localhost auch auf andere Datenbanken als die "test"-Datenbank Zugriff haben ?
Versuche ich nun das PHP-Script für die Datenbank 'gaestebuch' auzuführen, erhalte ich die Fehlermeldung :
"Access denied for user: '@localhost' to database 'gaestebuch'"
(Weshalb steht hier @localhost und nicht jobst@localhost ? ).
Hat hier jemand eine Ahnung wie oder wo ich etwas verändern muß um von meinem PHP-Script aus in die Datenbank schreiben zu können ?
Vielen Dank im Voraus für Eure Hilfe,
Grüße, Jobst ;-)
Ich habe hier ein kleines Problem. Ich bin mit PHP und MySQL noch ganz neu. ... Sicher ist das hier nur ein sehr kleines Problem .
Vielleicht kann mir ja jemand helfen.
Es handelt sich um ein einfaches in PHP geschriebenes Gästebuch.
Die Daten werden auf 'sign.php' eingegeben :
<?php include ("dbconnect.php"); ?>
<h2>Signieren Sie mein Gästebuch !!!</h2>
<form method=post action="create_entry.php">
<b>Name:</b>
<input type=text size=40 name=name>
<br>
<b>Ort:</b>
<input type=text size=40 name=ort>
<br>
<b>E-Mail:</b>
<input type=text size=40 name=email>
<br>
<b>URL:</b>
<input type=text size=40 name=url>
<br>
<b>Kommentar:</b>
<textarea name=kommentar cols=40 rows=4 wrap=virtual></textarea>
<br>
<input type=submit name=submit value="submit">
<input type=reset name=reset value="Löschen">
</form>
Es sollte dann 'create_entry.php' die Daten in MySQL einfügen :
<?php include("dbconnect.php"); ?>
<?php
if ($submit == "submit")
{
$query = "insert into gaestebuch "
." (name,ort,email,url,kommentar) values "
."('$name', '$ort', '$email', '$url', '$kommentar')"
;
//mysql_query($query);
safe_query($query);
echo mysql_error();
?>
<h2>Danke!!</h2>
<h2><a href="view.php">Sehen Sie mein Gästebuch an!!!</a></h2>
<?php
}
else
{
echo mysql_error();
include("sign.php");
}
?>
Das Problem ist, daß sich einfach keine Daten in die Datenbank einfügen lassen.
Dagegen funktioniert die Ausgabe mittels z.B.:"select * from ..." anstandslos.Nur funktioniert die "insert"-anweisung nicht, es werden keine Daten in die Datenbank eingefügt.
Es könnte sich nun um einen Fehler im PHP-Script handeln, ich vermute mittlerweile aber eher, daß es sich hier um das altbekannte Problem der Benutzerrechte handelt ....Benutze ich die Datenbank "test" samt tabellen tut sich nichts und es gibt auch keine Fehlermeldungen.
Nun habe ich mich unter
mysql_connect("localhost", "jobst@localhost" , "")- als jobst@localhost (ohne Passwort) versucht einzuloggen. MySQL habe ich die Anweisung "grant all on *.* to jobst@localhost" gegeben. Auf jeden Fall müßte ich nun doch als jobst@localhost auch auf andere Datenbanken als die "test"-Datenbank Zugriff haben ?
Versuche ich nun das PHP-Script für die Datenbank 'gaestebuch' auzuführen, erhalte ich die Fehlermeldung :
"Access denied for user: '@localhost' to database 'gaestebuch'"
(Weshalb steht hier @localhost und nicht jobst@localhost ? ).
Hat hier jemand eine Ahnung wie oder wo ich etwas verändern muß um von meinem PHP-Script aus in die Datenbank schreiben zu können ?
Vielen Dank im Voraus für Eure Hilfe,
Grüße, Jobst ;-)
Kommentar