การทำงานกับตัวดำเนินการ LIMIT ใน PDO ของ PHP
เมื่อทำงานกับตัวดำเนินการ
LIMIT ในคำสั่ง query ที่เตรียมไว้
อาจเกิดปัญหาได้ - ตัวเลข
ในคำสั่ง query จะถูกแปลงอัตโนมัติ
เป็นสตริง ซึ่งจะทำให้เกิด
ข้อผิดพลาดทางไวยากรณ์ SQL
สามารถแก้ไขปัญหาการตีความ
ตัวเลขในคำสั่ง query ไม่ถูกต้องได้
โดยการผูกค่าของตัวแปร
ด้วยเมธอด bindValue
และกำหนดโหมดตัวเลขให้กับพวกมัน
โดยใช้ PARAM_INT:
<?php
$start = 2;
$count = 5;
$res = $pdo->prepare('SELECT * FROM users LIMIT ?, ?');
$res->bindValue(1, $start, PDO::PARAM_INT);
$res->bindValue(2, $count, PDO::PARAM_INT);
$res->execute();
$row = $res->fetchAll();
var_dump($row);
?>
เขียนคำสั่ง IN query ที่
จะแสดงผู้ใช้สองคน
เริ่มจากคนที่สาม