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

Escape-værdier i Mysqljs

Med henvisning til den dokumentationsside, du linkede til, under afsnittet "Escaping forespørgsels-id'er ", bør du være i stand til at gøre dette:

mysql.query('SELECT * FROM ?? where name = ?', [this.table, this.votesTable]

De fleste SQL-rammer tillader ikke, at parametre bruges til andet end individuelle værdier . dvs. ikke tabelidentifikationer, kolonneidentifikatorer, værdilister eller SQL-nøgleord. Mysqljs-biblioteket er ualmindeligt, fordi det understøtter citering af identifikatorer og nøgle/værdi-par.

Om din kommentar:

?? pladsholder er for identifikatorer. Identifikatorer skal citeres anderledes end værdier. I MySQL citeres en strengværdi som 'string' men en identifikator er citeret med back-ticks.

SELECT * FROM `mytable` where name = 'myname'

Mysqljs-klassen bruger ?? som en speciel pladsholder for en identifikator, så du kan fortælle klassen, at den skal citeres med flueben.




  1. Oprettelse af et sikkert login-script i PHP og MySQL uden HTTPS

  2. PHP mySQL - Indsæt ny post i tabellen med automatisk stigning på primærnøgle

  3. Aktiver logning af langsomme forespørgsler (langsom forespørgselslog) i MySQL-databasen

  4. Hvad er fordelen ved at bruge prøv {} catch {} versus hvis {} andet {}