如何在SQL查詢中動態產生表名?
P粉588152636
P粉588152636 2023-09-03 19:57:51
0
1
489
<p>我有一個 SQL 查詢,它使用 MySQL 資料庫從中取得資訊。表名稱是第一個常數,末尾帶有不同的 IMEI 編號。 </p> <p>gs_object_data_12345678</p> <p>12345678 在我的腳本中被標識為 <code>$_GET</code> 但當我嘗試更改表名稱時,它不會顯示該表中的資料</p> <pre class="brush:php;toolbar:false;">$imei = $_GET['imei']; $result = $db->query("SELECT * FROM gs_object_data_'$imei' LIMIT 200 ");</pre> <p>如果我使用下面的字串,它就可以工作</p> <pre class="brush:php;toolbar:false;">$result = $db->query("SELECT * FROM gs_object_data_12345678 LIMIT 200 ");</pre> <p>我需要用<code>$_GET</code>訊息更改表名</p> <p>URL <code>alarm_action.php?id=58543®=****&imei=862202228007105</code> 中包含 IMEI,因此資訊應該可以透過</p>
P粉588152636
P粉588152636

全部回覆(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();
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!