PHP PDO - Mengikat Nama Jadual
Dalam PHP Data Object (PDO), adakah mungkin untuk mengikat nama jadual kepada pernyataan yang disediakan ?
Jawapan:
Tidak, tidak mungkin untuk mengikat nama jadual dalam PDO.
Mengikat nama jadual memperkenalkan risiko keselamatan kerana ia membolehkan pengguna mengakses mana-mana jadual dalam pangkalan data. Adalah disyorkan untuk menyenarai putih nama jadual untuk memastikan hanya jadual yang dibenarkan boleh ditanya.
Pendekatan Alternatif:
Untuk mengakses metadata jadual dengan selamat, pertimbangkan untuk membuat kelas induk untuk anda kelas jadual, seperti:
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(); } }
Kemudian, cipta kelas khusus untuk setiap jadual, seperti sebagai:
class MyTable extends AbstractTable { private $table = 'my_table'; }
Menggunakan pendekatan ini, anda boleh mengakses metadata jadual dengan selamat:
$pdo = new PDO(...); $table = new MyTable($pdo); $fields = $table->describe();
Atas ialah kandungan terperinci Bolehkah Anda Mengikat Nama Jadual dalam Penyata PHP PDO Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!