PHP PDO - 綁定表名稱
在PHP 資料物件(PDO) 中,是否可以將表名稱綁定到準備好的資料對像上語句?
答案:
不,不可能在 PDO 中綁定表名。
綁定表名會帶來安全風險,因為它允許使用者存取資料庫中的任何表。建議將表名列入白名單,以確保只能查詢授權的表。
替代方法:
要安全地存取表元數據,請考慮為您的表創建一個父類表類,如:
abstract class AbstractTable { private $table; private $db; public function __construct(PDO $pdo) { $this->db = $pdo; } public function describe() { return $this->db->query("DESCRIBE `$this->table`")->fetchAll(); } }
然後,為每個表建立一個特定的類,例如as:
class MyTable extends AbstractTable { private $table = 'my_table'; }
使用這種方法,您可以安全地存取表元資料:
$pdo = new PDO(...); $table = new MyTable($pdo); $fields = $table->describe();
以上是可以在 PHP PDO 準備語句中綁定表名嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!