Rumah  >  Artikel  >  pangkalan data  >  Bolehkah Anda Mengikat Parameter Tatasusunan dengan Klausa LIMIT dalam PDO?

Bolehkah Anda Mengikat Parameter Tatasusunan dengan Klausa LIMIT dalam PDO?

DDD
DDDasal
2024-10-24 01:51:02898semak imbas

Can You Bind Array Parameters with LIMIT Clause in PDO?

Melalui Parameter Tatasusunan dengan Klausa LIMIT dalam PDO

Dalam PHP, kelas PDOStatement menyediakan cara untuk melaksanakan pertanyaan SQL dengan nilai parameter. Walau bagaimanapun, apabila menggunakan klausa LIMIT, parameter pengikatan menggunakan kaedah bindParam() tidak berfungsi.

Untuk mengatasi isu ini, pertimbangkan penyelesaian berikut:

<code class="php">$sql = "SELECT * FROM table WHERE id LIKE CONCAT('%', :id, '%')
LIMIT :offset, :limit";

$stmt = $pdo->prepare($sql);

// Turn off PDO emulation of prepared statements for MySQL
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$array = [':id' => 5];

// Bind the LIMIT parameters
$stmt->bindParam(':offset', $limit1, PDO::PARAM_INT);
$stmt->bindParam(':limit', $limit2, PDO::PARAM_INT);

// Execute the query
$stmt->execute($array);

$results = $stmt->fetchAll();</code>

Dengan melumpuhkan emulasi PDO bagi penyata yang disediakan (lalai untuk MySQL), ia membolehkan anda menggunakan nilai parameter dalam klausa LIMIT. Kaedah ini memastikan pertanyaan anda dilaksanakan dengan betul dengan parameter yang ditentukan.

Perhatikan bahawa mematikan emulasi boleh menjejaskan prestasi. Untuk butiran lanjut, rujuk dokumentasi tentang PDO MySQL: Gunakan PDO::ATTR_EMULATE_PREPARES atau tidak?.

Atas ialah kandungan terperinci Bolehkah Anda Mengikat Parameter Tatasusunan dengan Klausa LIMIT dalam PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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