sql >> Databasteknik >  >> RDS >> Mysql

Infogar $variable eller $_POST-värde i mysql-tabellen

I SQL måste strängvärden citeras:

VALUES ('value1', 'value2')"

När du använder variabler:

VALUES ($var1, $var2)");

De citeras inte ... om inte citaten finns i själva värdena.

Så om $var1 = 'value1'; $var2 = 'value2' sedan (efter att variablerna har interpolerats i din sträng) ser din SQL ut så här:

VALUES (value1, value2)"

Du kan lösa ditt omedelbara problem genom att lägga till citat:

VALUES ('$var1', '$var2')");

men detta åtgärdar inte din stora säkerhetssårbarhet och låter din data bryta frågan på olika sätt.

Du bör undvika att skapa SQL-satser genom att sammanställa strängar från variabler . Detta leder till SQL Injection-säkerhetshål. Använd ett gränssnitt som stöder bundna argument . De kommer att hantera offerter och flykt åt dig.



  1. Infoga i en mysql-tabell och skriva över alla aktuella data

  2. Hur lagrar man dubbelriktade relationer i ett RDBMS som MySQL?

  3. Paginera poster på klientsidans problem

  4. LENGTH() Funktion i Oracle