Rumah > pembangunan bahagian belakang > tutorial php > Bolehkah Anda Mengikat Nama Jadual dalam Penyata PHP PDO Disediakan?

Bolehkah Anda Mengikat Nama Jadual dalam Penyata PHP PDO Disediakan?

Susan Sarandon
Lepaskan: 2024-11-27 10:43:14
asal
449 orang telah melayarinya

Can You Bind Table Names in PHP PDO Prepared Statements?

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();
    }
}
Salin selepas log masuk

Kemudian, cipta kelas khusus untuk setiap jadual, seperti sebagai:

class MyTable extends AbstractTable {
    private $table = 'my_table';
}
Salin selepas log masuk

Menggunakan pendekatan ini, anda boleh mengakses metadata jadual dengan selamat:

$pdo = new PDO(...);
$table = new MyTable($pdo);
$fields = $table->describe();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan