MYSQL Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
beitrag
daten
denke mal
email
fehler
haben
inhalt
insert
laut
mu
mglichkeit
pawort
schreibweise
set
spalt
syntax
tabelle
zahlenwert
bers
-
Hallo,
Ich habe bei einem Mysql befehl (im script) ein Problem.:
Der Funktioniert
mysql_query(\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', `ip` = \'\".$ip.\"\'\");
Der nicht
mysql_query(\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', `browser` = \'\".$browser.\"\', `ip` = \'\".$ip.\"\'\");
Er zeigt mir weder eine Wahnung noch einen Fehler an. Die datenbank bleibt einfach leer wenn ich den 2. Code benutze.
Ich denke mal das ich irgentwas logisches übersehen hab
Schonmel danke im vorraus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Speicher die Query doch mal in einer Variablen und lass diese ausgeben. Dann siehst du vielleicht wo der Fehler liegt.
Sprich:
sql = mysql_query (.....) echo sql;
-
evtl mal so versuchen (
mysql_query(\"insert into game_ip(datum,browser,ip) values(\'\".$datum.\"\',\'\".$browser.\"\',\'\".$ip.\"\')\");
Was soll mit diesem Befehl angezeigt werden ???
Mit Insert trägst Du was in die DB ein!
Willste was ausgegeben haben sieht die Sache natürlich ganz anders aus.
Beitrag geändert: 1.10.2007 16:44:22 von flommi -
Und was genau zeigt er da an?
-
Deine Syntax ist auch völlig falsch. Der INSERT-Befehl ist so aufgebaut:
<? mysql_query(\"INSERT INTO `tabelle` (spalte1, spalte2) VALUES (\'wert1\',\'wert2\')\"); ?>
-
tct schrieb:
Deine Syntax ist auch völlig falsch. Der INSERT-Befehl ist so aufgebaut:
<? mysql_query(\\\'INSERT INTO `tabelle` (spalte1, spalte2) VALUES (\\\'wert1\\\',\\\'wert2\\\')\\\'); ?>
so hatte ich es vorher schon einmal Probiert hat auch nicht geklappt wohl gemerkt:
mysql_query(\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', ``ip` = \'\".$ip.\"\'\");
funktioniert -
tct schrieb:
Deine Syntax ist auch völlig falsch. Der INSERT-Befehl ist so aufgebaut:
<? mysql_query(\'INSERT INTO `tabelle` (spalte1, spalte2) VALUES (\'wert1\',\'wert2\')\'); ?>
so hatte ich es vorher schon einmal Probiert hat auch nicht geklappt wohl gemerkt:
mysql_query(\\\\\\\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', `ip` = \'\".$ip.\"\'\");
funktioniert
Ist aber syntaktisch föllig falsch! Ansonsten hab ich was falsches gelernt!
Die Syntax sieht eher für Updat üblich aus!
EDIT
Ups das geht doch (;-( ...
Man lernt nie aus
Beitrag geändert: 1.10.2007 17:21:51 von flommi -
so hatte ich es vorher schon einmal Probiert hat auch nicht geklappt wohl gemerkt:
<? mysql_query(\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', ``ip` = \'\".$ip.\"\'\"); ?>
funktioniert
Du hast recht, ich bin überrascht, dass das auch geht. Aber laut http://dev.mysql.com/doc/refman/5.1/de/insert.html ist das wirklich zulässig. Wieso wird dann überall die andere Möglichkeit verbreitet, wenn beide möglich sind?
@Topic
Wenn das hier
<? mysql_query(\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', ``ip` = \'\".$ip.\"\'\"); ?>
funktioniert, wo ist dann dein Probelm? -
das ist ja das komische solange ich in die tabelle nur 2 daten eingebe funktioniert alles bestens sobald 3 oder mehr daten eingetragen werden sollen weigert sich das script behaglich dies auzuführen.
-
Sind alle Spalten vorhanden und richtig geschrieben? Das ist die einzige Erklärung, die mir einfallen würde.
-
ich habe alles mehrfach kontolliert und auch auf verschiedenen mysql veisonen....
-
Haste den Befehl mal nicht über dein Script sondern per PHPMyAdmin in die DB gehauen? Was sagt er dir denn dann?
Gruß
Mat -
ahhhh ein nützlicher tipp^^
hmmmm jetzt trägt er was ein...... Ich blick langsam nicht mehr durch.....
wiso klappt das nicht übers skript!!!!!?????????
Beitrag geändert: 1.10.2007 20:39:27 von thecity -
kann mir einer verraten wiso über den phpmyadmin der befehl klappt aber über mysql_query(...) nicht??? gibs da i-einen Trick?
-
Ich sehe nicht, ob das Problem gelöst ist?
Daher möchte ich noch mal anfragen, ob denn Deine Variablen überhaupt einen Inhalt haben?
Ich meine was wird angezeigt, wenn Du mal
echo $datum."".$ip;
ausgeben läst.
Oder Poste doch mal mehr von Deinem Script.
Der Fehler muß doch zu finden sein! -
so hatte ich es vorher schon einmal Probiert hat auch nicht geklappt wohl gemerkt:
<? mysql_query(\"INSERT INTO `game_ip` SET `datum` = \'\".$datum.\"\', ``ip` = \'\".$ip.\"\'\"); ?>
funktioniert
Du hast recht, ich bin überrascht, dass das auch geht. Aber laut http://dev.mysql.com/doc/refman/5.1/de/insert.html ist das wirklich zulässig. Wieso wird dann überall die andere Möglichkeit verbreitet, wenn beide möglich sind?
Diese Schreibweise ist von MySQL und nicht SQL92 Standard und wird von anderen Datenbank Systemen entsprechend nicht unterstützt. -
Ich habe es jetzt mal mit einer anderen Schreibweise probiert...
mysql_query('INSERT INTO game_user(user, passwort, email, safty) VALUES ( '.$user.', '.$pass1.', '.$email.', '.$safty.') ') or die (mysql_error());
allerdings hat er mir jetzt einen Fehler ausgespuckt.....
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 '@email.de, 59698882)' at line 6
allerdings wede ich nicht ganz schlau daraus.....
sämtliche variablen haben einen inhalt.
achja : http://thecity.lima-city.de/hack-sector24/anmelden.php
PS: Über phpmyadmin geht der Befehl
Beitrag geändert: 8.10.2007 15:09:48 von thecity -
Du musst bei einem String auch diesen als solchen kennzeichnen, sonst gibt das Fehler.
mysql_query("INSERT INTO game_user(user, passwort, email, safty) VALUES ( '".$user."', '".$pass1."', '".$email."', '".$safty."') ") or die (mysql_error());
Ob safty bei dir ein String ist wusste ich nun nicht, aber ist auch nebensächlich, da MySQL bei Bedarf aus dem String versucht einen Zahlenwert zu machen falls erforderlich. -
ok danke jetzt klapt es
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage