sql >> Databasteknik >  >> RDS >> Mysql

Hur skapar du förberedda uttalanden med mysql2 pärla?

UPPDATERA

Som Ryan Rapp påpekat korrekt, mysql2 stöder nu förberedda uttalanden. Följande utdrag är extraherat från readme :

statement = @client.prepare("SELECT * FROM users WHERE login_count = ?")
result1 = statement.execute(1)
result2 = statement.execute(2)

statement = @client.prepare("SELECT * FROM users WHERE last_login >= ? AND location LIKE ?")
result = statement.execute(1, "CA")

Tack Ryan!

Original post

Jag hittade ingen sådan funktion heller; varken i källa inte heller i dokumentationen .Kanske är följande kodavsnitt en användbar ersättning för dina behov? (finns i dokumentationen för mysql2 gem):

escaped = client.escape("gi'thu\"bbe\0r's")
results = client.query("SELECT * FROM users WHERE group='#{escaped}'")


  1. Rails Resque-arbetare misslyckas med PGError:servern stängde anslutningen oväntat

  2. Felsökning av variabelt minnesbidrag i SQL Server

  3. java.sql.SQLException Parameterindex utanför intervallet (1> antal parametrar, vilket är 0)

  4. hur man skriver nummer till ord-funktion i sql-server