Willkommen in der Webstatt Zum Webstatt Blog und Stories
Sven Sven am 16.03.06 23:35

$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 :/

netcup.de Warum gibt es hier Werbung?
milahu milahu am 17.03.06 00:09

Wie schon so oft: Bezeichner in Backticks, Werte in (einfache) Hochkommas. Ist halt einfach so. ;)

Sven Sven am 17.03.06 09:58

Das ganze funktioniert solange ich die Variable nicht einsetze, sprich manuell den Wert eintrage.

dookie dookie am 17.03.06 17:27

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']).'"';

Franky Franky am 17.03.06 18:07

warum? vll macht er ja schon ein $_GET['key'] = addslashes($_GET['key']) oder sowas davor :P

Sven Sven am 18.03.06 10:24

Danke, 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 :/

milahu milahu am 18.03.06 10:50

Komisch Ding!
Lass dir doch mal $sql ausgeben, irgendwas muss ja faul sein an der Abfrage..

Sven Sven am 18.03.06 11:33

Ich komm grad nicht dazu, aber ich editiers später hier in den Post.

Claw Claw am 18.03.06 19:15

Machs mal so :->

$sql = "UPDATE `ptb_user` SET userkey='',useractivated='1' WHERE userkey = '".$_GET['key']."'";

Al3x0r Al3x0r am 18.03.06 23:05

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

milahu milahu am 18.03.06 23:40

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.

Al3x0r Al3x0r am 18.03.06 23:43

Quote
Original von milahu
SET funzt doch so:
> update xy set a=1, b=2, c=3

Du bist ein Genie... daran lags

vielen dank

mfg Alex

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt