{category}

PHP - PDO

PDO::exec()

ピーディーオー エグゼック(データベースとSQL

意味 SQLクエリの実行(結果なし)


PDO::exec()とは?

PDO::exec()メソッドは、SQLクエリを実行し、影響を受けた行数を返します。このメソッドは主に INSERT、UPDATE、DELETE など、結果セットを返さないクエリに使用されます。

PDO::exec()の具体的な使い方

UPDATE文の実行例

$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');

$query = 'UPDATE users SET active = 1 WHERE last_login > DATE_SUB(NOW(), INTERVAL 30 DAY)';
$count = $pdo->exec($query);

echo "$count 件のレコードが更新されました。";

👇出力結果

3 件のレコードが更新されました。

この例では、PDO::exec()メソッドを使用して、最終ログインが30日以内のユーザーをアクティブにするUPDATE文を実行しています。exec()メソッドは影響を受けた行数を返すので、それを表示しています。

テーブル作成の例

$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');

$query = 'CREATE TABLE IF NOT EXISTS products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10, 2) NOT NULL
)';

$result = $pdo->exec($query);

if ($result !== false) {
    echo "テーブルが正常に作成されました。";
} else {
    echo "テーブルの作成中にエラーが発生しました。";
}

👇出力結果

テーブルが正常に作成されました。

この例では、PDO::exec()メソッドを使用してproductsテーブルを作成しています。CREATE TABLE文はテーブルを作成するだけで行数を返さないため、exec()メソッドの戻り値は0になります。そのため、falseでないかどうかをチェックしています。

PDO::exec()に関するよくある質問

Q. PDO::exec()の戻り値は何ですか?
A. PDO::exec()は、クエリによって影響を受けた行数を整数で返します。エラーが発生した場合はfalseを返します。
Q. PDO::exec()はどんな時に使うべき?
A. PDO::exec()は、SELECT文以外のINSERT、UPDATE、DELETEなど、結果セットを返さないSQLクエリを実行する際に使用します。
Q. PDO::exec()でSELECT文は使えますか?
A. PDO::exec()でSELECT文を実行することは可能ですが、結果を取得できません。SELECT文にはquery()メソッドを使用することをお勧めします。

PDO::exec()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのPDO::exec()やトランザクション、DELETE、JOIN、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

トランザクション

一連の処理をまとめる機能

種類: PDO

DELETE

データベースから行を削除

種類: SQL基礎

JOIN

複数テーブルの結合

種類: SQL応用

キャメルケース

単語の先頭を大文字に

種類: コーディング規約

数値インデックス

配列の要素に自動的に割り当てられる番号

種類: 添字配列