PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

06-09-2010, 20:14
|
Jama22
Registrierter Benutzer
|
|
Registriert seit: Dec 2009
Beiträge: 29
|
|
Problem mit Prepared Statements
Hallo!
Ich habe ein Problem mit meinem Seitenaufbau-Log Script, das verweigert seinen Dienst! Es gibt KEINE (Error - Reporting ist an!) Fehlermeldungen!
Eigentlich musste das Script die Daten in die Datenbank schreiben, statdessen stehen aber z.B. nur die Fragezeichen drinn, die ja eigentlich nur der Platzhalter für die Prepared Statements sind.
PHP-Code:
if (!empty ($UserID)) { $UserID = null; };
$sql = 'INSERT INTO log (ip, user, time, action) VALUES (?, ?, ?, ?)'; $stmt = $db->prepare($sql); if (!$stmt) { return $db->error; } $stmt->bind_param('siss', $ip, $UserID, $time, $site); if (!$stmt->execute()) { return $stmt->error; } $stmt->close();
Ich hoffe auf schnelle Hilfe!
|

06-09-2010, 21:40
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Hallo,
wenn ein Fehler auftritt, gibst du ihn mit return zurück. Kann es sein, dass du diesen Rückgabewert nie zur Ausgabe bringst und nur deshalb keine Fehler gemeldet werden?
Verständnisfrage: Warum wird die $UserID auf null gesetzt, wenn was drin steht?
Versuch mal, alle Namen von Tabellen und Spalten in `` einzuschließen. Ich bin gerade nicht sicher, welche davon alle reservierte Schlüsselwörter sein könnten. Log ist z. B. eine mathematische Funktion und time ein Datentyp.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

06-09-2010, 22:45
|
Jama22
Registrierter Benutzer
|
|
Registriert seit: Dec 2009
Beiträge: 29
|
|
Zitat:
Zitat von AmicaNoctis
Hallo,
wenn ein Fehler auftritt, gibst du ihn mit return zurück. Kann es sein, dass du diesen Rückgabewert [...]
|
Hallo,
Das mit dem Return stimmte, da hatte ich einen kleinen Fehler gemacht der mittlerweile aber schon behoben ist, nun bekommen ich folgende Fehlermeldung:
Code:
Column 'user' cannot be null
Ich habe die Striche ausprobiert kein Unterschied noch eine andere Idee?
Gruß
Janis
|

06-09-2010, 22:50
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Grundlegendes Debugging ...?
Kontrollausgabe der Werte, die du ans Statement zu binden versuchst, wäre der nächste logische Schritt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-09-2010, 01:14
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Wenn user nicht null sein darf, solltest du die $UserID vielleicht doch nicht einfach immer auf null setzen:
PHP-Code:
if (!empty ($UserID)) {
$UserID = null;
};
Das hatte ich dir aber eher schon gesagt, dass das nach Unsinn aussieht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|