problemer med at updater kun 1 ting i databasen

Tags:    mysql

Davs udvikleren

Det er sådan at jeg skal kun updater 1 ting ud af 18 ting ind i database. Jeg har en database(table) som hedder brugere..

Fold kodeboks ind/udSQL kode 


Det er sådan at jeg skal have updater kun "Rank" og den gider overhovedet ikke på nogle måde.

jeg har skrevet kode sådan her ;


Fold kodeboks ind/udHTML kode 



Fold kodeboks ind/udPHP kode 


Hvorfor er den ikke gider at gør det ? håber du kan forklare mig det :)




8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 15 karma
Sorter efter stemmer Sorter efter dato
I stedet for

$id = $_POST["id"];
$rank = $_POST['rank'];

bør du gøre

$id = mysql_real_escape_string($_POST["id"]);
$rank = mysql_real_escape_string($_POST['rank']);

Ellers vil en person i værste fald kunne slette hele din database eller udnytte det til at inficere din hjemme med malware.



nu har jeg prøve tag et f.eks

UPDATE brugere SET rank='0' WHERE id = 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 '' at line 1




Der har du svaret. Den skriver at din query ser således ud:


UPDATE brugere SET rank='0' WHERE id =

Og det betyder at der er en syntaks fejl idet den aldrig har fået et id.

Prøv at kigge i din source code i din browser på din side med din form, og sikre dig at din hidden field har en værdi sat.



Du har det her stående i linje 13.

Fold kodeboks ind/udKode 


Hvilket ikke er syntaktisk korrekt. Prøv at starte med at rette det.

Edit:

For at uddybe det lidt så skal du teste om noget er sandt. Så du kan evt. sige:

Fold kodeboks ind/udKode 


Desuden bør du som et minimum når du bruger POST/GET i querys bruge mysql_real_escape_string på dine varibler ellers er dit site åbent for SQL injections.



Indlæg senest redigeret d. 23.03.2012 19:04 af Bruger #6559
nu har jeg prøve tag et f.eks


Fold kodeboks ind/udPHP kode 



Kommer den frem og siger ;


UPDATE brugere SET rank='0' WHERE id = 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 '' at line 1


EIDT

Fold kodeboks ind/udPHP kode 





Indlæg senest redigeret d. 23.03.2012 19:06 af Bruger #17136
hold kæft noget lort man martin du sagde noget der !!!....


Fold kodeboks ind/udPHP kode 




hehe. Løste det problemet? :)



Ja :)

og komme frem til det her også

Fold kodeboks ind/udPHP kode 




okay tak igen Martin :)



t