sql >> Database teknologi >  >> RDS >> Mysql

Indsættelse af $variable eller $_POST-værdi i mysql-tabellen

I SQL skal strengværdier anføres:

VALUES ('value1', 'value2')"

Når du bruger variabler:

VALUES ($var1, $var2)");

De er ikke citeret … medmindre citaterne er i selve værdierne.

Så hvis $var1 = 'value1'; $var2 = 'value2' derefter (efter at variablerne er interpoleret i din streng) ser din SQL således ud:

VALUES (value1, value2)"

Du kan løse dit umiddelbare problem ved at tilføje citater:

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

men dette løser ikke din større sikkerhedssårbarhed og lader dine data bryde forespørgslen på forskellige måder.

Du bør undgå at oprette SQL-sætninger ved at samle strenge fra variabler . Denne måde fører til SQL Injection-sikkerhedshuller. Brug en grænseflade, der understøtter bundne argumenter . De vil håndtere citering og undslippe for dig.



  1. Hvordan MINUTE() virker i MariaDB

  2. MySQL versionskontrol - Subversion

  3. SQL gruppe efter og min (MySQL)

  4. Android SQLite Indsæt eller Opdater