php database fejl.

Tags:    php

Hejsa..
Jeg har denne kode:
Fold kodeboks ind/udPHP kode 


Og jeg indsætter med:
$db::insert(users, "(`username`,`password`) VALUES (123, 123);") or die(mysql_error());

Det virker, men hvis jeg skifter værdierne 123 til noget andet f.eks. SUPERHEMMELIGKODE, så får jeg mysql fejl med at den ikke kan finde kolonnen SUPERHEMMELIGKODE. Og jeg har prøvet med noget '' eller "" samt \\, men intet af det virkede eller gjorde nogen forskelv. Så er lidt på bar bund. Hvad kan der være galt?

EDIT:
Jeg har fundet ud af at det var addslashes() som lavede fejlen. Hvordan kan jeg undgå dette, fordi jeg er ikke interesseret i at få sql injection :P

- Mvh Magnus.



Indlæg senest redigeret d. 19.05.2010 20:07 af Bruger #15047
Du kunne bruge prepared statements med mysqli.



Du kunne bruge prepared statements med mysqli.

Definere "prepared". Altså sådan at jeg forskrev forspøgelserne og gav dem et unikt ID, hvorefter jeg kalder det ID når det skal bruges, eller hvad mener du? :)




Og ellers skal du prøve

$db::insert(users, "(`username`,`password`) VALUES ('SUPERHEMMELIGKODE', 123);") or die(mysql_error());



t