sql >> Database >  >> RDS >> Mysql

Ontsnappen van waarden in Mysqljs

Verwijzend naar de documentatiepagina waarnaar u heeft gelinkt, onder de sectie "Escaping query-ID's ", zou je dit moeten kunnen doen:

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

De meeste SQL-frameworks staan ​​niet toe dat parameters voor iets anders worden gebruikt dan voor individuele waarden . D.w.z. niet-tabelidentificaties, kolom-ID's, zoeklijsten of SQL-sleutelwoorden. De mysqljs-bibliotheek is ongebruikelijk omdat het ondersteuning biedt voor het aanhalen van identifiers en sleutel/waarde-paren.

Opnieuw uw opmerking:

De ?? placeholder is voor identifiers. Identifiers moeten anders worden geciteerd dan waarden. In MySQL wordt een tekenreekswaarde tussen aanhalingstekens geplaatst, zoals 'string' maar een identifier wordt geciteerd met back-ticks.

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

De klasse mysqljs gebruikt de ?? als een speciale tijdelijke aanduiding voor een identifier, zodat u de klasse kunt vertellen dat deze met back-ticks moet worden aangehaald.




  1. verwijder rij met ajax-functie en php

  2. resultaatset van functie retourneren

  3. afbeelding insluiten in html e-mail

  4. Een formulier plaatsen met optionele en verplichte velden