mySQL speichern schlägt fehl
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ablauf
adresse
beschreibung
code
datenbank
eintrag
eintragen
ergebnis
fehler
feld
frage
komma
limit
manual
parameter
speichern
syntax
verbindung
zeile
-
Hallo!
Ich bins wieder ;)
Also dieses mal hab ich folgendes Problem:
Ich habe den Code hier,aber immer wird der von mir gemachte ERROR #4 Angegeben!
Was habe ich falsch gemacht!
Ich schätze das es einmal in diesen Zeilen ist:
$Name = $tags['author']; $Beschreibung = $tags['description']; $Key = $tags['keywords']; $link = mysql_connect("mysql.lima-city.de","***","***") or die ("ERROR #1:<br />Keine Verbindung moeglich"); mysql_select_db("db_159226_1") or die ("ERROR #2: <br /> Die Datenbank existiert nicht "); if($tags == "") { echo "ERROR #3:<br />Bitte eine Adresse Eingeben! ausfüllen <br> "; exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert } $eintrag = "INSERT INTO Idarus (Titel, Link, Beschreibung, ) VALUES ('$Name', '$Beschreibung', '$Key')"; $eintragen = mysql_query($eintrag); //Wurde der Eintrag erfolgreich gespeichert? if($eintragen == true) { echo "<br /><img src=\"progress.gif\"></img><br /><br /><br /><br />Beitrag erfolgreich gespeichert. "; } else { echo "Error #4: <br /> Fehler beim Speichern"; }
Ich habe aber keine Ahnung woran es liegt!
Kann mir bitte jemand hierbei helfen!
Beitrag zuletzt geändert: 23.12.2009 14:55:03 von gaestefun -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du weist der Variablen $tags nirgends etwas zu, deshalb ist die immer leer.
Beitrag zuletzt geändert: 23.12.2009 14:59:11 von karpfen -
Das ist ja nur ein Teilstück...
Hier kommt der Ganze Code:
<?php if($Link!="") { $Link = $_POST["Link"]; // Angenommen die genannten Tags stuenden auf www.example.com $tags = get_meta_tags($Link); // Beachten Sie, dass alle Keys kleingeschrieben werden // und dass . im Schluessel durch _ ersetzt wird. echo "<br /><b>Name:</b><br />"; echo $tags['author']; // name echo "<br /><b>Schlüsselwörter:</b><br />"; echo $tags['keywords']; // php documentation echo "<br /><b>Beschreibung:</b><br />"; echo $tags['description']; // a php manual echo "<br /><b>Position:</b><br />"; echo $tags['geo_position']; // 49.33;-86.59 } else{ echo"<h2>Willkommen bei IDARUS</h2>"; } $Name = $tags['author']; $Beschreibung = $tags['description']; $Key = $tags['keywords']; $link = mysql_connect("mysql.lima-city.de","***","***") or die ("ERROR #1:<br />Keine Verbindung moeglich"); mysql_select_db("db_159226_1") or die ("ERROR #2: <br /> Die Datenbank existiert nicht "); if($tags == "") { echo "ERROR #3:<br />Bitte eine Adresse Eingeben! ausfüllen <br> "; exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert } $eintrag = "INSERT INTO Idarus (Titel, Link, Beschreibung, ) VALUES ('$Name', '$Beschreibung', '$Key')"; $eintragen = mysql_query($eintrag); //Wurde der Eintrag erfolgreich gespeichert? if($eintragen == true) { echo "<br /><img src=\"progress.gif\"></img><br /><br /><br /><br />Beitrag erfolgreich gespeichert. "; } else { echo "Error #4: <br /> Fehler beim Speichern"; } ?>
-
Ich war irgendwie im falschen Codestück. Wird denn etwas in die Datenbank eingetragen oder auch das nicht?
Lass dir doch mal $eintrag und $eintragen per echo ausgeben und schau, was dort drinsteht. Kannst das ja gegebenenfalls mal posten.
Ausserdem solltest du die Reihenfolge deiner INSERT-Anweisung mal überprüfen. In meinen Augen schreibst du nicht die Werte in die richtigen Felder!
Beitrag zuletzt geändert: 23.12.2009 15:11:59 von karpfen -
Also das kommt Raus:
INSERT INTO Idarus (Titel, Link, Beschreibung, ) VALUES ('', 'This tutorial explains how to use HTML meta tags, with links to meta tag generators and builders. From SearchEngineWatch.com, a guide to search engine submission and registration.', 'using meta tags')
-
Und was gibt $eintragen aus?
-
Änder mal die Zeile wie folgt ab.
$eintragen = mysql_query($eintrag) or die (mysql_error());
Beitrag zuletzt geändert: 23.12.2009 15:29:55 von karpfen -
Ok...
Anscheinend ist da der Fehler!
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 ') VALUES ('Torsten Maue', 'Alles zu meiner Person sowie meine persönlichen ' at line 1
Könnte es vieleich an den Kommas in den Meta tags leigen,und wenn ja,wie ändereich das,so das ich es trotzdem eintraen kann!
Beitrag zuletzt geändert: 23.12.2009 15:36:48 von gaestefun -
$eintrag = "INSERT INTO Idarus (Titel, Link, Beschreibung, ) VALUES ('$Name', '$Beschreibung', '$Key')";
Da ist schon mal ein Komma zu viel hinter Beschreibung. Ausserdem weist du dem Feld Link die Beschreibung zu und dem Feld Beschreibung den Wert Key.
Versuchs mal so:
$eintrag = "INSERT INTO Idarus (Titel, Beschreibung, Link ) VALUES ('$Name', '$Beschreibung', '$Key')";
-
Kannst du dir nicht mal bitte angewöhnen den betroffenen Quellcode mitzuposten? Hellsehen können wir leider noch nicht!
-
Das ist der Code:
<?php $link = mysql_connect("mysql.lima-city.de","***","***") or die ("Keine Verbindung moeglich<br />Server möglicherweiße offline!"); mysql_select_db("db_159226_1") or die ("Die Datenbank existiert nicht"); $abfrage = "SELECT * FROM Idarus ORDER BY id DESC LIMIT $start, $eintraege_pro_seite"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $Beschreibung = $row->Beschreibung; $Beschreibung = htmlentities($Beschreibung); $text = nl2br($Beschreibung); $Titel = $row->Titel; $Link = $row->Link; $Seite = $row->Seite; echo $Link; } ?>
Beitrag zuletzt geändert: 23.12.2009 17:56:34 von gaestefun -
Frage: seit wann ist es möglich, dass es 2 Limits gibt?
+ mach einfach mal testweise ein or die(mysql_error()); hinter die mysql_query abfrage... -
raubritta schrieb:
Frage: seit wann ist es möglich, dass es 2 Limits gibt?
+ mach einfach mal testweise ein or die(mysql_error()); hinter die mysql_query abfrage...
Genau Hast du schön gesagt. Nur leider ist es falsch.
LIMIT hat 2 Parameter, wovon der 2. optional ist. Ist der 2. Parameter nicht gegeben, so gibt der 1. Parameter an, wie viele Datensätze ausgelesen werden sollen. Sind beide gegeben, so übernimmt der 2. Parameter die Rolle der maximalen Datensatzzahl, und der 1. gibt an, aber dem wievielten Datensatz begonnen werden soll. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage