$sql = 'UPDATE `ptb_user` SET userkey = "", useractivated = "1" WHERE userkey = "' . $_GET['key'] . '"';
Dieses Query mag mich nicht :(
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 'WHERE userkey = "e4a5c5b4d561452c0a92c01a1e717298"' at line 1
Ich hab grad aber brutal rote Tomaten auf den Augen. Help :/
Wie schon so oft: Bezeichner in Backticks, Werte in (einfache) Hochkommas. Ist halt einfach so. ;)
Das ganze funktioniert solange ich die Variable nicht einsetze, sprich manuell den Wert eintrage.
Dein Query ist anfällig für SQL Injections. Nimm lieber mal diesen, damit sollte dann auch dein Problem beseitigt sein.
$sql = 'UPDATE `ptb_user` SET userkey = "", useractivated = "1" WHERE userkey = "' . mysql_real_escape_string($_GET['key']).'"';
warum? vll macht er ja schon ein $_GET['key'] = addslashes($_GET['key']) oder sowas davor :P
xyz-48ke, aber ich habe eine komplette Absicherungsroutine die automatisch alle $_POST, $_GET, $_SESSION und $_COOKIE Variablen durchläuft. Bringt mich aber so oder so noch nicht weiter :/
Komisch Ding!
Lass dir doch mal $sql ausgeben, irgendwas muss ja faul sein an der Abfrage..
Ich komm grad nicht dazu, aber ich editiers später hier in den Post.
Machs mal so :->
$sql = "UPDATE `ptb_user` SET userkey='',useractivated='1' WHERE userkey = '".$_GET['key']."'";
Das Thema, weswegen ich hier eig. gepostet habe , habe ich gerade selber gelöst.
Nun ist aber ein neues aufgetaucht.
if ($serie != $_GET['sDirpath'])
{
$sql="INSERT INTO $tablegalleryklicks (serie, zeit, ip, klicks) VALUES ('".$_GET['sDirpath']."', '".$zeit."', '".$ip."', klicks+1)";
$senden=mysql_query($sql) or die(mysql_error());
}
else
{
$sqlupdate = "UPDATE $tablegalleryklicks SET klicks = klicks+1 AND ip = '$ip' AND zeit = '$zeit' WHERE serie = '".$_GET['sDirpath']."'";
$senden2=mysql_query($sqlupdate) or die(mysql_error());
}
die klicks werden nicht "hochgezählt" ... es bleib immer null.... d.h. das "+1" funzt irgendwie nicht.
Was ist da falsch ?
mfg Alex
SET funzt doch so:
> update xy set a=1, b=2, c=3
Ansonsten kannst du mit mysql_affected_rows() prüfen, ob der Datensatz überhaupt gefunden wurde.
Quote
Original von xyz-145
SET funzt doch so:
> update xy set a=1, b=2, c=3
Du bist ein Genie... daran lags
vielen dank
mfg Alex