PHP MySQL Datenbank mag mich nicht :(

Wlan-Kabel

Lt. Junior Grade
Registriert
Juli 2008
Beiträge
297
also, ich hab folgendes geschrieben:
<?php
$mysql_server = "localhost";
$mysql_username = "++++";
$mysql_pw = "++++";
$mysql_forum = "++++";

$verbindung = mysql_connect($mysql_server, $mysql_username, $mysql_pw) or die("keine Verbindung zu Mysql möglich");
mysql_select_db($mysql_forum) or die ("Datenbank konnte nicht ausgewählt werden");

$ueberschrift = $_POST["ueberschrift"];
$ersteller = $_POST["ersteller"];

$mysqltext = "INSERT INTO `Forum` (ueberschrift, Ersteller) `VALUES` ('$ueberschrift', '$ersteller')";
$eintrag = mysql_query($mysqltext);
if($eintrag = false)
{
die("eintrag konnte nicht gespeichert werden");
}

$id = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM `Forum`"));
$forenname = $id."forum";

mysql_query("CREATE TABLE `brightlife`.`$forenname` (
`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ueberschrift` VARCHAR( 50 ) NOT NULL ,
`name` VARCHAR( 20 ) NOT NULL ,
`text` TEXT NOT NULL ,
`zeit` VARCHAR( 14 ) NOT NULL
) ENGINE = MYISAM");

mysql_close($verbindung);
?>

und am ende sach der: "Datenbank konnte nicht ausgewählt werden". Die Datenbank ist aber da..... naja ich denke ma ich brauche nicht erwähnen, dass es nett währe wenn ihr mir helft ^^.
 
Zuletzt bearbeitet:
setz die variable $mysql_forum mal in Anführungszeichen ""
Unsinn - das ist Murks, nicht nötig und bringt auch nichts.

Allerdings solltest du so grundlegende PHP Dinge richtig schreiben - es muss z.B. if($eintrag == false) heißen und nicht if($eintrag = false) (Vergleichtsoperator != Zuweisung).

Bist du auch sicher, dass deine Tabelle auch wirklich "forum" heißt?
 
fi.sh schrieb:
setz die variable $mysql_forum mal in Anführungszeichen ""

bringt keinen unterschied, sondern nur nachteile in großen texten mit sich. am besten gleich abgewöhnen diesen variablenmist direkt in strings.



mysql_error() schon versucht?
 
gut das mit dem Vergleichsoperator hab ich einfach über die monate vergessen (iss schon bisschen her mit php). Zu mysql_error(), ähm ich hab mit der MySQL geschichte gerade erst angefangen ^^' und davon bissehr noch nicht so viel gehört. Ich muss ma gucken was ich dazu finde.
 
Ich mach das meistens so:

PHP:
echo "Fehler bei der Abfrage\n\nQuery: <pre>". $sqlquery ."</pre>\n\nAntwort: ".mysql_error();
 
Access denied for user 'brightlife'@'localhost' to database 'forum'eintrag konnte nicht gespeichert werden

was muss ich da jetzt machen?
 
Der Username und/oder Passwort stimmen halt nicht ... ist das lokal bei dir auf dem Rechner?
 
username und pw stimmen aber leider >.<. Woran kanns noch legen? ne iss auf nem server.
 
Die Fehlermeldung sagt es aber klar aus:
Access denied for user 'brightlife'@'localhost'
Entweder stimmen diese nicht, du hast keine Berechtigung oder du musst einen richtigen Servernamen angeben (anstelle von localhost).
 
habs gelößt.... war n bisschen was anderes.... direkt zu peinlich als dass ich es erzählen könnte >.<

aber wie dem auch sei, das nächste problem:

<?php
$mysql_server = "++++";
$mysql_username = "++++";
$mysql_pw = "++++";
$mysql_db = "++++";

$verbindung = mysql_connect($mysql_server, $mysql_username, $mysql_pw) or die("keine Verbindung zu Mysql möglich");
mysql_select_db($mysql_db);

$ueberschrift = $_POST["ueberschrift"];
$ersteller = $_POST["ersteller"];

$mysqltext = "INSERT INTO `forum` (ueberschrift, Ersteller) VALUES ($ueberschrift, $erstellers)";
$eintrag = mysql_query($mysqltext);
if($eintrag == false)
{
echo mysql_error();
}

$id = mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM `Forum`"));
$forenname = $id."forum";

mysql_query("CREATE TABLE `brightlife`.`$forenname` (
`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ueberschrift` VARCHAR( 50 ) NOT NULL ,
`name` VARCHAR( 20 ) NOT NULL ,
`text` TEXT NOT NULL ,
`zeit` VARCHAR( 14 ) NOT NULL
) ENGINE = MYISAM");

mysql_close($verbindung);
?>

und folgendes kommt am ende:

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 ' )' at line 1
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /users/brightlife/www/createnewthread.php on line 20

was mach ich jetzt schon wieder falsch? :(
 
Wlan-Kabel schrieb:
$mysqltext = "INSERT INTO `forum` (ueberschrift, Ersteller) VALUES ('$ueberschrift', '$erstellers')";

das sind strings, d.h. du brauchst auch zeichenbegrenzer. mit näherem hinsehen, hättest du das auch hinbekommen.
 
lol, ich hatte das außversehen mal aus verzweiflung geändert und vergessen das zurück zu endern xD. Danke schonmal soweit, werde die nächsten tage bestimmt auch noch mal nbisschen eure hilfe brauchen ^^'.
 
Zurück
Oben