Sicheres Implementieren eines „konfigurierbaren“ Verbindungssystems

Hintergrund

Hallo, ich entwickle ein experimentelles / lehrreiches Tool in PHP und MySQL. Ich bin neu in SQL, aber ich möchte die Dinge von Anfang an richtig machen. Ich verwende PDO-vorbereitete Anweisungen für alle Variablensubstitutionen und das Backticking ist überall möglich (so wie ich es verstehe, wird es nicht auf Nicht-MySQL-Datenbanken portierbar sein). In Bezug auf mein Problem habe ich eine Idee, wie ich weitermachen soll, aber die Implementierung wird einige Stunden dauern (selbst die SQL-Syntax ist neu für mich). In der Zwischenzeit dachte ich, ich würde erst einmal eine Frage erstellen falls jemand schreien kann: "Das ist nicht der Weg, es zu tun!" und spar mir stundenlange mühe.

Problem

Ich möchte eine Benutzeroberfläche erstellen, in der ein Benutzer aus Dropdown-Menüs auswählen kann:

ein TischA,ein oder mehrere Felder in dieser Tabelle, z.B.A.x undA.y,ein TischB,ein oder mehrere Felder in dieser Tabelle, z.B.B.z undB.y,

und bei der Übermittlung würde der Code eine innere Verknüpfung ausführen, die mit jedem Feld übereinstimmt, z.A.x = B.z, A.y = B.yusw. und geben alle übereinstimmenden Zeilen zurück.

Mein Plan ist einfach, eine zu generierenINNER JOIN SQL-Anweisung, Durchlaufen der Felder und Einfügen von Platzhaltern (?), binden die jeweiligen Parameter und führen schließlich die Anweisung aus.

Gibt es einen einfacheren Weg, dies zu tun? Gibt es einen besseren Weg, dies zu tun? Wird das irgendwie ausnutzbar sein?

Vielen Dank im Voraus. Wenn niemand antwortet, bis ich fertig bin (zweifelhaft), werde ich meine Lösung posten.

Sonstiges

Angenommen, ich werde validieren

dass der Benutzer eine gleiche Anzahl von Feldern zwischen wähltA undB,dass die Felder und Tabellen existieren,usw.

und dass die Feldnamen nicht identisch sein müssen: Sie werden der Reihe nach abgeglichen. (Machen Sie auf andere Details aufmerksam, die mir möglicherweise nicht bekannt sind!)

Schließlich ist das Ziel, dass diese Auswahlen selbst in einer Tabelle "Einstellungen" gespeichert werden. Tatsächlich erstellen Benutzer "Ansichten", die sie bei jeder Rückkehr sehen möchten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage