【PHP8.x】queryメソッドの使い方
queryメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
SQLite3::queryメソッドは、SQLiteデータベースに対してSQLクエリを実行するメソッドです。
このメソッドは、指定されたSQL文をデータベースに送り、その実行結果を扱います。主にSELECT文のように、データベースからデータを取り出す際に使用されますが、データの追加(INSERT)、更新(UPDATE)、削除(DELETE)を行うSQL文も実行できます。例えば、商品の一覧を取得したり、新しいユーザー情報を登録したりする際に利用できます。
queryメソッドにSQLクエリ文字列を渡して実行すると、成功した場合はSQLite3Resultという特別なオブジェクトが返されます。このSQLite3Resultオブジェクトを通じて、取得したデータを行ごとに読み進めたり、各列の値を取り出したりすることができます。これにより、データベースから取得した情報をプログラムで利用できるようになります。
もしSQLクエリの実行中に何らかのエラーが発生した場合は、このメソッドはfalseを返します。そのため、クエリが正しく実行されたかを確認するためには、戻り値がfalseでないかをチェックすることが大切です。
ユーザーからの入力値を含むSQLクエリを実行する際は、セキュリティ上の理由から、直接文字列を結合するのではなく、SQLインジェクションを防ぐために、準備されたステートメント(SQLite3::prepareとSQLite3Stmt::executeの組み合わせ)を使用することを強くお勧めします。
構文(syntax)
1<?php 2$db = new SQLite3('database.sqlite'); 3$sqlQuery = 'SELECT id, name FROM users WHERE status = "active"'; 4$queryResult = $db->query($sqlQuery); 5?>
引数(parameters)
string $query
- string $query: 実行したいSQLクエリ文字列
戻り値(return)
SQLite3Result|false
SQLite3クラスのqueryメソッドは、SQLクエリを実行した結果をSQLite3Resultオブジェクトとして返します。クエリの実行に失敗した場合はfalseを返します。