Wie generiert man Tabellennamen in SQL-Abfragen dynamisch?
P粉588152636
P粉588152636 2023-09-03 19:57:51
0
1
495
<p>Ich habe eine SQL-Abfrage, die eine MySQL-Datenbank verwendet, um Informationen daraus abzurufen. Der Tabellenname ist die erste Konstante mit einer anderen IMEI-Nummer am Ende. </p> <p>gs_object_data_12345678</p> <p>12345678 wird in meinem Skript als <code>$_GET</code> identifiziert, aber wenn ich versuche, den Tabellennamen zu ändern, werden die Daten aus dieser Tabelle nicht angezeigt</p> <pre class="brush:php;toolbar:false;">$imei = $_GET['imei']; $result = $db->query("SELECT * FROM gs_object_data_'$imei' LIMIT 200 ");</pre> <p>Wenn ich die folgende Zeichenfolge verwende, funktioniert es</p> <pre class="brush:php;toolbar:false;">$result = $db->query("SELECT * FROM gs_object_data_12345678 LIMIT 200 ");</pre> <p>Ich muss den Tabellennamen mit <code>$_GET</code>information</p> ändern. Die <p>URL <code>alarm_action.php?id=58543®=****&imei=862202228007105</code> enthält die IMEI, daher sollten die Informationen über </p> verfügbar sein.
P粉588152636
P粉588152636

Antworte allen(1)
P粉232793765

像这样使用

$imei = $_GET['imei'];
$result = $db->query("SELECT * FROM gs_object_data_" . $imei . " LIMIT 200 ");

$result = $db->query("SELECT * FROM gs_object_data_{$imei} LIMIT 200 ");

以受保护的方式

$imei = $_GET['imei'];

$stmt = $db->prepare("SELECT * FROM gs_object_data_? LIMIT 200");
$stmt->bind_param("s", $imei);
$stmt->execute();

$result = $stmt->get_result();
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!