Gibt es eine Funktion (Python oder PHP), die eine Zeichenfolge zurückgibt, die ordnungsgemäß zitierte Benutzereingaben eMySql

MySQL DBMS-Forum
Anonymous
 Gibt es eine Funktion (Python oder PHP), die eine Zeichenfolge zurückgibt, die ordnungsgemäß zitierte Benutzereingaben e

Post by Anonymous »

Beim Aktualisieren einer MySQL-Datenbank mit Python3 oder PHP stellt man sicher, dass die vom Benutzer bereitgestellten Werte angemessen geschützt sind, indem man etwa Folgendes verwendet:

Code: Select all

statement = "INSERT INTO t1 (c1, c2, c3, c4 ) VALUES ( ?, ?, ?, ?)"
values = (v1, v2, v3, v4)
db.execute(statement, values)

Gibt es eine entsprechende Funktion, die die SQL-Anweisung einfach als Zeichenfolge zurückgibt (z. B. was mysqldump erzeugt)?

Und im Idealfall, ohne eine Verbindung zu einer tatsächlichen Datenbank herstellen zu müssen.
Das Ziel besteht darin, ein interaktives Dateneingabeprogramm zu schreiben, das unabhängig vom Zugriff auf die Datenbank das entsprechend zitierte SQL generiert.

(Sicherheit (z. B. manuelle Manipulation). mit der Ausgabe) ist in dieser Situation kein Problem.)
Antwort:
Nein, und das aus gutem Grund.
Es besteht kaum Bedarf für eine solche Funktion, und jeder Prozess, der sie erfordert, ist schlecht konzipiert.
In meinem Fall:
  • Ich hatte gehofft, die Datenerfassung vollständig von der Datenbank isoliert zu halten und die Ergebnisse später zur Ausführung an MySQL weiterzuleiten Das Update.
  • Ich habe auch versucht, es konzeptionell zu vereinfachen, indem ich die gesammelten Daten in einer Form bereitstellte, die sich für die direkte Weitergabe an MySQL eignet.
Das erste ist nicht unbedingt eine schlechte Idee.
Aber das zweite ist:
  • Es werden nicht die entsprechenden Tools verwendet, die bereits in den Bibliotheken bereitgestellt werden.
  • Es erfordert den ersten Teil von Der Prozess muss sich des zweiten Teils bewusst sein.
Ein viel besserer Ansatz besteht darin, die gesammelten Daten in einer implementierten unabhängigen Form (z. B. einer Textdatei mit tabulatorgetrennten Feldern) zu haben und über ein zweites Programm zu verfügen, das diese Daten konvertiert und sie mithilfe der Standardtools („Vorbereiten“ und „Ausführen“) an MySql übergibt.
Dies bedeutet auch, dass der Datenerfassungsprozess keine Daten benötigen würde, sollte ich später zu einem anderen Datenbanksystem wechseln Änderungen.
Vielen Dank an @Bill Karwin für den Hinweis, was offensichtlich hätte sein sollen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post