Update in MySQL Fehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
beschreibung
checken
date
email
fehler
format
insert
jahr
manual
minute
monat
nummer
sekunde
set
stunden
syntax
tabelle
uhrzeit
update
-
Ich hab da son Problem!!!
Ich habe in mein login eine UPDATE funktion eingebaut, aber mein SQL-Server gibt immer einen Fehler zur?ck!!
Ich hoffe, dass ihr mir helfen k?nnt!
Habe mal alles wichtige Unten Drangeh?ngt.
Habe nat?rlich ein paar ?nderungen vorgenommen.
(Ge?ndert wurde: User, Server, Dateien, Passw?rter, Datenbank, Tabelle)
Beschreibung:
-----------------------------
System:
Xampp --> apche,mysql,ftp,...
WinXP
-----------------------------
Fehlernummer:1064
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 '.0.1 WHERE ID = 4' at line 5
------------------------------
Quellcode:
<?php
include ("Datei.php);
$var0 = $_SESSION["user_ID"];
$ip = $_SERVER['REMOTE_ADDR'];
$connectionid = mysql_connect ("Server", "User", "Passwort");
if (!mysql_select_db ("DB", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
mysql_query ("UPDATE
Tabelle
SET
lastlogin = NOW(),
IP = $ip
WHERE
ID = $var0");
?>
-----------------------------
-----------------------------null -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Normalerweise kommt das wenn du falsche Attriute im Code angegeben hast, die es in der Datenband nicht gibt. Oft auch durch einen Tippfehler verursacht.
Am besten das nochmal vergleichen & kontrollieren.
Und lass dir mal den sql befehl ausgeben! Auch hier findet man oft und leicht einen Fehler.
MfG
Pointi -
Nein unm?glich kein Fehler enthalten habe alles nochmal durchgecheckt.
Wie kann ich mir den MySQL Befehl ausgeben lassen? -
Nein unm?glich kein Fehler enthalten habe alles nochmal durchgecheckt.
Wie kann ich mir den MySQL Befehl ausgeben lassen?
hmmm
mach mal so, ist ?bersichtlicher:
$sql = "UPDATE
Tabelle
SET
lastlogin = 'NOW()',
IP = '$ip'
WHERE
ID = '$var0'";
echo $sql;
$result = mysql_query($sql) or die ("blabla"); -
OK alles funktioniert jetzt THX!!!
Bis auf dass er mir jetzt NOW() in die DB reinschreibt!!
UPDATE tabelle SET lastlogin = 'NOW()', IP = '127.0.0.1' WHERE ID = '4' 0 -
Hier eine Liste aller Zeit Daten:
Format Beschreibung Beispiel
========================================================
d Tag des Monats, zweistellig 03, 28
j Tag des Monats 7, 13
m Nummer des Monats, zweistellig 01, 11
n Nummer des Monats 2, 10
y Jahr zweistellig 99, 00
Y Jahr vierstellig 1999, 2001
H Stunde im 24-Stunden-Format, zweist.08, 16
G Stunde im 24-Stunden-Format 7, 18
i Minuten, zweistellig 08, 45
s Sekunden, zweistellig 06, 56
w Wochentag in Zahlenwert 2, 6
Danach kann das Datum / die Zeit so ausgegeben werden:
$datum = date("Y-m-d"); $uhrzeit = date("H:i:s"); echo $datum," - ",$uhrzeit," Uhr";
-
Hallo ich bins nochmal!!!
so jetzt ist das Problem im Gbook!!!
Was ist falsch an diesem String?
hier den PHP Code:
$connect = mysql_connect("$mysqlsvr","$mysqluser","$mysqlpasswd");
$selectdb = mysql_select_db("$gbookdb");
$insert = "INSERT INTO $tabledb ('User', 'E-Mail', 'Text', 'Date', 'IP') VALUES ('$user', '$mail', '$text', '$date', '$IP')";
$query = mysql_query($insert);
hier mal der MySQL stirng:
INSERT INTO gbook('User', 'E-Mail', 'Text', 'Date', 'IP') VALUES ('user', mail@ka.at', 'Text!', '11:27:07 01.05.2006', '127.0.0.1')
Fehler:
1064
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 ''User', 'E-Mail', 'Text', 'Date', 'IP')
VALUES
'user', 'user@ka.at', 'Tex' at line 1 -
Probier?s mal damit:
$insert = "INSERT INTO $tabledb (User, E-Mail, Text, Date, IP) VALUES ('$user', '$mail', '$text', '$date', '$IP')"; -
Nein geht auch nich!!!
Da erkennt der mir bei E-Mail den - als irgend ein Befehl
Habe ich schon probiert
-
dann musst Du E-Mail eben in eMail oder so umbenennen, oder Du prbierst es mal mit
$email = 'E-Mail';
$insert = "INSERT INTO ".$tabledb." (User, ".$email.", Text, Date, IP) VALUES ('$user', '$mail', '$text', '$date', '$IP')";
-
Es lag alles an diesem Verda**ten Bindestrich!!!
P.S.: Deine zweite L?sung ging auch nicht!!
Die erste schon
Ok jetzt habe ich auch dazu gelernt!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage