MySQL Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angabe
anweisung
code
datenbank
datum
eintragen
fehler
fehlermeldung
funken
garnichts
gleiches problem
leer string
leeren string
meldung
problem
spalte
spalten
tabelle
variablen ausgeben
versuch
-
Ich habe ein kleines MySQL Problem:
Ich möchte mit PHP ein paar Sachen in MySQL einfügen.
Der Code:
$fehler = $mail->ErrorInfo; @mysql_connect("mysql.lima-city.de", "*****", "****") or die("Verbindungsfehler mit dem MySQL Server. Bitte schreibe mir eine Mail mit der Fehlermeldung an *********."); @mysql_select_db("*******") or die("Datenbank nicht gefunden. Bitte schreibe mir eine Mail mit der Fehlermeldung an *******."); $sql = "INSERT INTO fehlermeldungen VALUES ('', '$fehler', CURRENT_TIMESTAMP, '0')"; mysql_query($sql); if(mysql_affected_rows() > 0) { } else { die("Leider haben wir zur Zeit schwere interne Probleme. Wir werden uns schnellstmöglich darum kümmern."); } mysql_close(); return 0;
In die Datenbank kommen keine Daten, aber ich bekomme auch keine Fehlermeldung.
Danke im voraus.
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Versuch mal deine INSERT Anweisung so zu benutzen --->
$sql = "INSERT INTO fehlermeldungen ('spaltenname', 'Spaltenname', ...) VALUES ('', '$fehler', CURRENT_TIMESTAMP, '0')";
das hilft meistens die Spalten anzugeben in die du reinschreibst =)
MfG Sy
//EDIT
Ist mir auch schon recht oft passiert...
Die angabe der Spalten ist in soweit wichtig, damit dein Script immer noch funktioniert auch wenn du
mal ne spalte zu der Tabelle hinzufügst ;)
Beitrag zuletzt geändert: 15.8.2010 18:33:24 von lordcodex -
Hat die Tabelle "fehlermeldungen" nur diese 4 Spalten?
Ich hatte vor kurzem ein ähnliches Problem, ich hatte den Wert für eine Spalte nicht angegeben und auch keinen "Default-Wert" gesetzt. Nach Einstellen eines Default-Wertes hat alles problemlos funktioniert.
lg
hei -
So, geändert in:
$sql = "INSERT INTO fehlermeldungen (id, meldung, datum, gesehen) VALUES ('', '$fehler', CURRENT_TIMESTAMP, '0')";
Funktioniert leider immer noch nicht... Gleiches Problem...
Was meinst du mit Default-Wert? -
wird alles nicht angetragen oder nur die fehlermeldung ? versuchs mal mit --->
$sql = "INSERT INTO fehlermeldungen (meldung, datum, gesehen) VALUES ('".$fehler."', CURRENT_TIMESTAMP, '0')";
die 0 bei gesehen kannst du eigentlich als defaultwert eintragen und ID ist bestimmt primary und auf autoincrement also brauchst du da garnichts angeben....(ansonsten übergibst du halt weiter die 0 wie zurzeit)
defaultwert kannst du bei phpmyadmin in der tabellenspalte festlegen ;)
denk mal davor hat es nicht geklappt da deine ID eigentlich selber erzeugt wird aber du ihr versuchst ein leeren string zuzuweisen ;)
wenn ich soweit recht habe sollte das eigentlich funken
Beitrag zuletzt geändert: 15.8.2010 18:59:00 von lordcodex -
Sry, aber es klappt immer noch nicht und es gibt auch keine Fehlermeldung.
EDIT: Soweit ich weiß kommt für die ID bei auto_increment ein leer String an die Stelle.
Beitrag zuletzt geändert: 15.8.2010 19:05:13 von trik -
Lass dir doch mal mit echo $variablenname die Variablen ausgeben, um zu sehen, ob da überhaupt was drin steht, was in die Datenbank geschrieben werden kann.
-
So, jetzt klappt es. Ein Fehler in einem anderen Teil hatte es vorher abstürzen lassen. Eine Try Catch anweisung hat es jetzt behoben.
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage