• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wie behebe ich diesen Fehler ?

Hansii

Mitglied
Hi.

Hier ist der Fehlercode : Bundesliga Saison 2012/2013

Hier mein Code

Code:
<?php
error_reporting(E_ALL);
$db_link = @mysql_connect(MYSQL_[COLOR=#0000cd][B]Server[/B][/COLOR], MYSQL_[B][COLOR=#0000cd]Benutzername[/COLOR][/B], MYSQL_[B][COLOR=#0000cd]PW[/COLOR][/B]);
mysql_select_db(MYSQL_[B][COLOR=#0000cd]Datenbank[/COLOR][/B]);

$name= $_POST['name'];
$mail= $_POST['mail'];
$text= $_POST['text'];

$sql = "INSERT [B][COLOR=#0000cd]Tabelle[/COLOR][/B] (name,mail,text) VALUES ('$name','$mail','$text')";

 if (("" == $name) OR (""== $mail) OR(""== $text)) {
        echo "Fehler: Eintrag unvollständig.";
    } else {

  echo "Ihr Eintrag wurde hinzugefügt";
}
echo '<br/><a href="eintragen.php">Zurück zum Gästebuch</a>.';

$result = mysql_query($sql) OR
die("Query: <pre>".$sql."</pre>\n".
"Antwoertchen: ".mysql_error());
?>

Wie behebe ich den Fehler ?

Da ich Anfänger bin, bitte einfach beschreiben...

[TABLE="width: 500"]
[TR]
[TD]Formular
[/TD]
[TD]--->
[/TD]
[TD]Tabelle in Datenbank
[/TD]
[/TR]
[TR]
[TD]name
[/TD]
[TD]--->
[/TD]
[TD]name
[/TD]
[/TR]
[TR]
[TD]mail
[/TD]
[TD]--->
[/TD]
[TD]mail
[/TD]
[/TR]
[TR]
[TD]text
[/TD]
[TD]--->
[/TD]
[TD]text[/TD]
[/TR]
[/TABLE]
 
Hi.

Wenn ich jetzt z.B. diesen Syntax nehmen :

Code:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]     [INTO] [I]tbl_name[/I] [([I]col_name[/I],...)]     SELECT ...     [ ON DUPLICATE KEY UPDATE       [I]col_name[/I]=[I]expr[/I]         [, [I]col_name[/I]=[I]expr[/I]] ... ]

Was muss ich dann noch einfügen ?
 
Du musst die von dir im mysql_connect() definierten Konstanten mit den Benutzerdaten füllen. Musst also vor dieser Funktion ergänzen:

PHP:
define(MYSQL_Server, "server");
define(MYSQL_Benutzername, "benutzername");
define(MYSQL_PW, "passwort");
define(MYSQL_Datenbank, "datenbankname");

Die in meinem Beispiel hier genannten Wörter server, benutzername, datenbankname und passwort musst Du gegen die dir vorliegenden Zugangsdaten zu deiner MySQL-Datenbank ersetzen.
 
Hi.

Jetzt ist der Fehlercode kürzer (http://www.info-bundesliga.de/eintragen.php)

Hier mein neuer Code :

Code:
<?php

mysql_connect(
define(MYSQL_Server, "[B][COLOR=#0000ff]Server[/COLOR][/B]");
define(MYSQL_Benutzername, "[B][COLOR=#0000ff]Benutzername[/COLOR][/B]");
define(MYSQL_PW, "[COLOR=#0000ff][B]PW[/B][/COLOR]");
define(MYSQL_Datenbank, "[B][COLOR=#0000ff]Datenbankname[/COLOR][/B]");)

$name= $_POST['name'];
$mail= $_POST['mail'];
$text= $_POST['text'];

$sql = "INSERT INTO `gaestebuch`(`name`, `mail`, `text`) VALUES ('name','mail','text')";

 if (("" == $name) OR (""== $mail) OR(""== $text)) {
        echo "Fehler: Eintrag unvollständig.";
    } else {                        

  echo "Ihr Eintrag wurde hinzugefügt";
}
echo '<br/><a href="eintragen.php">Zurück zum Gästebuch</a>.';

$result = mysql_query($sql) OR              
die("Query: <pre>".$sql."</pre>\n".                  
"Antwoertchen: ".mysql_error());
?>

Was ist jetzt denn schon wieder der Fehler ?

Danke im Vorraus
 
Du hast threadi falsch verstanden.
Das define muss vor dem mysql connect sein oder du lässt einfach die platzhalter weg und schriebst direkt deine daten dort rein. also:


$db_link = @mysql_connect("localhost", "user", "passwort); mysql_select_db("datenbankname");
 
Hat er doch sogar mit Codebeispiel geschrieben, da musst du doch nur deine Daten einsetzen. Und dann folgt dein Code, den du anfangs gepostet hast.
Ein wenig Eigeninitiative darf auch sein...
 
Das define muss vor dem mysql connect sein oder du lässt einfach die platzhalter weg und schriebst direkt deine daten dort rein.

Jain. Du beschreibst eine andere, aber auch richtige Variante.

Was ist jetzt denn schon wieder der Fehler ?

Dir ist offenbar nicht bewusst, dass Du hier Datenbankzugangsdaten eintragen musst. Die können wir dir nicht sagen, wir können deine Zugangsdaten zum Glück nicht mal erraten denn das wäre ein Sicherheitsrisiko. Du musst die für Dich gültigen Zugangsdaten selbst wissen. Weißt Du sie nicht, frag deinen Webhoster. Sagt dir dein Webhoster, dass Du keine MySQL-Datenbank und somit keine Datenbankzugangsdaten hast, dann wirst Du entweder den Webhoster wechseln müssen oder deine Idee aufgeben.
 
Dass du vorsichtig sein musst, wenn eine Spalte deiner Tabelle »name« heißt, hast du auf dem Schirm? MySql wird das immer für einen Operator (oder was ähnliches halten), es sei denn du setzt es in accents graves: »`name`«:
Code:
INSERT INTO Tabelle ([COLOR=#0000cd][B]`name`[/B][/COLOR], mail, text) VALUES ('$name','$mail','$text')
Nur um der Fehlermeldung in deinem überübernächsten Posting vorwegzugreifen ... ;-)

Edit: habe gerade festgestellt, dass »NAME« KEIN reserviertes Wort ist, demzufolge kann es auch ohne »Anführungszeichen« verwendet werden. Meiner Erinnerung nach, knallt NAME ohne `` aber trotzdem. Weiteres hier: http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-1.html
 
Zuletzt bearbeitet:
Zurück
Oben