最初に一時テーブルを作成し、選択ステートメントからのデータを入力して、mysql データベース テーブルをクエリしています。
それをテストするには、既知のデータベース ID を使用して、次のレコードと前のレコードが正しく取得されるかどうかをテストします。
これは私の機能です
function get_next($id){
$db = new PDO('mysql:host=localhost;dbname=world', 'root', '');
$db->query("CREATE TEMPORARY TABLE nr AS SELECT ID,Name,Population FROM city WHERE id > $id ORDER BY ID LIMIT 1;");
$orm = $db->query("SELECT * FROM nr WHERE ID > $id ORDER BY ID LIMIT 1;");
$id = $orm->fetchColumn(0);
if ($id !== false) {
return $id;
}
}
function get_previous($id){
$db = new PDO('mysql:host=localhost;dbname=world', 'root', '');
$db->query("CREATE TEMPORARY TABLE pr AS SELECT ID,Name,Population FROM city WHERE ID > $id ORDER BY ID LIMIT 1;");
$orm = $db->query("SELECT * FROM pr WHERE ID < $id ORDER BY ID DESC LIMIT 1;");
$id = $orm->fetchColumn(0);
if ($id !== false) {
return $id;
}
}
next
レコードを正しく取得できますがprevious
、前のレコードが現在のレコードであると表示されるため、レコードが間違っています。
前のクエリが間違っていますか?