ホームページ バックエンド開発 PHPチュートリアル PHP で SQL ステートメントを使用する方法

PHP で SQL ステートメントを使用する方法

May 20, 2023 pm 04:51 PM
php sql 使用

人気のあるプログラミング言語として、PHP はデータベース操作のための多くのツールとメソッドを提供します。その中で最も一般的に使用されるのは SQL (構造化照会言語) ステートメントです。 SQL はリレーショナル データベース (RDBMS) へのアクセスと管理に使用される言語であり、テーブル、行、列を操作することでデータを保存したり取得したりできます。 PHPでSQL文を使用する方法を紹介します。

  1. データベースへの接続

SQL ステートメントを使用する前に、まずデータベースに接続する必要があります。これは、PHP の組み込み mysqli (MySQL Enhanced Extension) または PDO (PHP Data Objects) を使用して実現できます。

1.1 mysqli 接続メソッド:

$servername = "localhost"; //数据库主机名
$username = "username"; //数据库用户名
$password = "password"; //数据库密码
$dbname = "myDB"; //连接的数据库

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
ログイン後にコピー

1.2 PDO 接続メソッド:

$servername = "localhost"; //数据库主机名
$username = "username"; //数据库用户名
$password = "password"; //数据库密码
$dbname = "myDB"; //连接的数据库

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // 设置 PDO 错误模式为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功"; 
}
catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
ログイン後にコピー
  1. データのクエリ

#テーブル内のデータのクエリには多くの SQL ステートメントが使用されます。一般的な SQL ステートメントの一部を次に示します。

  • SELECT: テーブルからデータを選択するために使用されます。
  • WHERE: 条件とその条件を満たすレコードを指定するために使用されます。
  • ORDER BY: 特定の条件に従ってクエリ結果を並べ替えるのに使用されます。
  • GROUP BY: 通常、クエリ結果をグループ化して概要データを計算するために、集計関数 (SUM、AVG、COUNT など) とともに使用されます。

次に、mysqli と PDO を使用してデータをクエリする例を示します。

2.1 mysqli を使用してデータをクエリする:

$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
    }
} else {
    echo "0 结果";
}
ログイン後にコピー

2.2 PDO を使用してデータをクエリする:

$sql = "SELECT id, name, email FROM users";
$stmt = $conn->prepare($sql); 
$stmt->execute();

$result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
foreach($stmt->fetchAll() as $row) {
    echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
}
ログイン後にコピー
  1. データの挿入

テーブルに新しいデータを挿入するときは、INSERT INTO ステートメントを使用します。新しいデータを挿入するための基本的な形式は次のとおりです:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
ログイン後にコピー

次に、mysqli と PDO を使用したデータの挿入の例を示します:

3.1 mysqli を使用してデータを挿入:

$sql = "INSERT INTO users (name, email, password)
VALUES ('John Doe', 'john@example.com', '123456')";

if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
ログイン後にコピー

3.2 PDO データを使用した挿入:

$sql = "INSERT INTO users (name, email, password)
VALUES ('John Doe', 'john@example.com', '123456')";
$conn->exec($sql);
echo "新记录插入成功";
ログイン後にコピー
  1. データの更新

データを更新するときは、UPDATE ステートメントを使用します。 UPDATE ステートメントの基本的な形式は次のとおりです。

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
ログイン後にコピー

以下は、mysqli と PDO を使用してデータを更新する例です。

4.1 mysqli を使用してデータを更新する:

$sql = "UPDATE users SET email='john_doe@example.com' WHERE id=1";

if ($conn->query($sql) === TRUE) {
    echo "记录更新成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
ログイン後にコピー

4.2 PDO を使用したデータの更新 :

$sql = "UPDATE users SET email='john_doe@example.com' WHERE id=1";
$conn->exec($sql);
echo "记录更新成功";
ログイン後にコピー
  1. データの削除

データを削除するときは、DELETE ステートメントを使用します。 DELETE ステートメントの基本的な形式は次のとおりです。

DELETE FROM table_name WHERE condition;
ログイン後にコピー

以下は、mysqli と PDO を使用したデータ削除の例です。

5.1 mysqli を使用したデータの削除:

$sql = "DELETE FROM users WHERE id=1";

if ($conn->query($sql) === TRUE) {
    echo "记录删除成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
ログイン後にコピー

5.2 PDO を使用したデータの削除 :

$sql = "DELETE FROM users WHERE id=1";
$conn->exec($sql);
echo "记录删除成功";
ログイン後にコピー

概要: PHP および SQL ステートメントを使用する場合は、SQL インジェクションを防ぐように注意する必要があります。SQL インジェクション攻撃を回避するには、mysqli のプリペアド ステートメントまたは PDO のプリペアド ステートメントを使用できます。ただし、mysqli または PDO を使用してデータベースを操作することで、データベースのセキュリティを確保できます。MySQL アプリケーションを作成する場合は、プログラムとデータベース間の負担を軽減するために、可能な限り PDO または mysqli を使用する必要があります。

以上がPHP で SQL ステートメントを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles