Wie schreibe ich eine SQL-statement für zwei variables, eine mit dem Tabellennamen und die andere die Spalte in einer Tabelle?

$ select = $ _POST ['select']; $ search = $ _POST ['suche']; $ sql = "SELECT * FROM '$ select' WHERE $ select = '$ search'";

Ich habe 2 variables, die den oben genannten Tabellennamen und Spaltennamen tragen. Ich möchte, dass der Benutzer in der Lage ist, einen Tabellennamen auszuwählen und dann eine bestimmte Spalte auszuwählen und den angeforderten datasatz auszugeben.

Ich habe nur ein Problem mit dem Schreiben der sql-statement. Danke im Voraus!

Sie können die folgende Abfrage problemlos verwenden …

$sql="SELECT * from $select WHERE field_name='$search' ";

In der obigen Abfrage ist field_name derjenige Feldname, in dem Sie den Wert des Wertes mattieren möchten.

Sie verwenden Tabelle statt Spalte

 $sql = "SELECT * FROM '$select' WHERE $select = '$search'"; ^^^^^^----//this should be column not table 

Das ist eine schlechte Idee, die du tust. VOLL SOLL-Injektion

  • Umschalten auf pdo oder mysqli.
  • Flucht deine variables.