Es ist unmöglich zu sqlite3_bind_text
ein Tabellenname, weil sqlite3_prepare_v2
eine Anweisung wie vorzubereiten versagt:Gibt es eine C SQLite-API zum Angeben/Entkommenlassen des Namens einer Tabelle?
SELECT * FROM ? ;
ich den Namen Tabelle vermuten benötigt, um die Anweisung zu analysieren, so dass die zitierte Bedürfnisse vor sqlite3_prepare_v2
geschehen sein.
Gibt es so etwas wie ein ? Vielleicht existiert es bereits unter einem Namen, den ich nicht erkennen kann, aber in der Funktionsliste kann ich nichts finden.
Ihre vorgeschlagene sqlite3_quote_tablename-Funktion könnte die Eingabe bereinigen, um SQL-Injection-Angriffe zu verhindern. Dazu könnte es die Eingabe analysieren, um sicherzustellen, dass es sich um ein Zeichenfolgenliteral handelt. http://www.sqlite.org/lang_expr.html#litvalue – momeara
Eine sehr späte Antwort: Danke, das war die Route, die ich genommen habe. Mein ehemaliger Arbeitgeber besitzt diesen Code jetzt aber. Wenn du das als Antwort posten willst, werde ich es akzeptieren :) – gavinbeatty