| SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |

10-12-2010, 16:23
|
|
keifler
Registrierter Benutzer
|
|
Registriert seit: Dec 2010
Beiträge: 4
|
|
daten werden nicht in db eingetragen
hier mein quellcode, die eintragung der daten wird zwar bestätigt und es kommen keine fehlermeldungen aber die datenbank ist leer. was ist falsch??
$connection=mysql_connect("a", "b", "c") or die ("Verbindungsversuch fehlgeschlagen");
$mysqldb="d"; // Gewuenschte Datenbank angeben
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
$name = $_POST["name"];
$strassenummer = $_POST["strassenummer"];
$telefon = $_POST["telefon"];
$mail = $_POST["mail"];
$kanton = $_POST["kanton"];
$preise = $_POST["preise"];
$besonderheiten = $_POST["besonderheiten"];
$internet = $_POST["internet"];
$text = $_POST["beschreibung"];
$eintrag = "INSERT INTO links (name, mail, kanton, strassenummer, ort, preise, besonderheiten, internet, beschreibung)
VALUES ('$name', '$kanton', '$strassenummer', '$ort', '$mail', '$preise', '$besonderheiten', '$internet', '$beschreibung')";
mysql_query($eintrag);
echo "Registrierung erfolgreich.";
mysql_close();
Geändert von keifler (11-12-2010 um 12:01 Uhr)
|

10-12-2010, 16:26
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von keifler
was ist falsch??
|
1. Keine [php]-Tags benutzt, um Code besser lesbar zu machen - bitte Posting editieren!
2. Informiere dich, wie man die Rückgabewerte der mysql-Funktionen sinnvoll auswertet, und mysql_error nutzt, um mehr über die Ursache eines Datenbankfehlers in Erfahrung zu bringen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

11-12-2010, 12:12
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
wenn ich das mit Humor sehe, dann hast du folgendes falsch gemacht .. "Deine Brille nicht aufgesetzt "
PHP-Code:
$eintrag = "INSERT INTO links (name, mail, kanton, strassenummer, ort, preise, besonderheiten, internet, beschreibung)
VALUES ('$name', '$kanton', '$strassenummer', '$ort', '$mail', '$preise', '$besonderheiten', '$internet', '$beschreibung')";
du gibst im ersten Teil deines inserts eine Reíhenfolge der Parameter vor - und im Teil nach Values verstösst du selbst gegen die Reihenfolge ? Meinst du die Reihenfolge der Spalten ist bedeutungslos? .. MySQL kann doch nicht raten .. du musst die Werte in genau der Reihenfolge einfüge, wie du sie aufgeführt hast im vorderen Teil .... Ich denke daran scheitert deine Abfrage .
WEnn du das debugging umsetzt, wie wahsage anmahnt bekommst du mit großer Sicherheit einen MySQL error 1046 Syntax error
__________________
Wer LESEN kann, ist klar im Vorteil!
|

13-12-2010, 10:00
|
|
keifler
Registrierter Benutzer
|
|
Registriert seit: Dec 2010
Beiträge: 4
|
|
peinlich
ich wehre mich konsequent gegen eine brille... das sieht so alt aus....  aber für Ausreden ist es ganz praktisch ab und an darauf zurück zu greifen... "auf grund meines fortgeschrittenen alters  schiebe ich es mal auf die Altersdemenz" und nicht auf meinen wenig entwickelten ordnungssinn...
trotzdem danke..... ist jetzt alles ok..
|

13-12-2010, 10:29
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Nein, ist nicht OK. Es fehlt das sehr wichtige Escaping der Daten mittels mysql_real_escape_string().
|

13-12-2010, 10:52
|
|
keifler
Registrierter Benutzer
|
|
Registriert seit: Dec 2010
Beiträge: 4
|
|
wie sollte das bei mir aussehen?? den befehl kenne ich noch nicht und weiss auch nicht wie und wohin er geschrieben werden soll. könntest du mir büdde büdde helfen
|

13-12-2010, 10:59
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Und was hat dich davon abgehalten das PHP-Manual zu konsultieren?
|

13-12-2010, 11:31
|
|
keifler
Registrierter Benutzer
|
|
Registriert seit: Dec 2010
Beiträge: 4
|
|
habe ich schon aber allein das ich autodidakt bin und kein wort englisch kann, bleiben mir manche dinge verschlossen.
ich habe gelesen, das dies eine sicherheit ist. aber das beispiel hat mir nicht weitergeholfen.
das habe ich gefunden
<?php
// Verbindung herstellen
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Anfrage erstellen
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>
nur haben meine user kein pw und keinen usernamen. Oder soll ich für jede zu übergebende variable so ein real_esape schreiben? und soll ich das query-variable mit in den quellcode schreiben. echt keine ahnung. in den beschreibungen sind so viele fachbegriffe, die kenne ich nicht...
|

13-12-2010, 11:39
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Das Manual gibt es auch auf Deutsch! Und bitte, lies endlich die Forenregeln und benutze die Code-Tags! Du musst deinen Code nicht selbst einfärben (was ihn noch unleserlicher macht).
|
|
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
|