ホームページ バックエンド開発 PHPの問題 PHP を使用してデータベースに接続してクエリを実行する方法

PHP を使用してデータベースに接続してクエリを実行する方法

Apr 04, 2023 pm 05:17 PM

PHP は、Web 開発で広く使用されているスクリプト言語です。その広範なオープンソースと多用途性により、Web アプリケーション開発の最初の選択肢となっています。 Web 開発において、データベースへの接続とデータベースへのクエリは非常に基本的な操作であるため、この記事では、データベースに接続し、PHP を使用してデータベースにクエリを実行する方法について説明します。

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

PHP でデータベースに接続するには、2 つのパラメータが必要で、1 つはデータベース アドレス、もう 1 つはデータベース アカウントとパスワードです。一般的なデータベースの種類には MySQL、PostgreSQL などが含まれ、データベース接続 API も異なります。以下は MySQL データベース接続の使用例です:

$host = "localhost"; // 数据库地址
$user = "username"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "mydb"; // 数据库名

$con = mysqli_connect($host, $user, $password, $dbname); // 建立数据库连接
if (!$con) { // 判断是否连接成功
  die("连接失败:" . mysqli_connect_error()); // 连接失败,输出错误信息
}
echo "连接成功"; // 连接成功,输出成功信息
mysqli_close($con); // 关闭数据库连接
ログイン後にコピー

2. データベースのクエリ

Afterデータベースに正常に接続すると、データベース内のデータのクエリを開始できます。 PHP には主に次のクエリ操作関数があります。

  1. mysqli_query() 関数

mysqli_query() 関数は、データベースに対してクエリ操作を実行するために使用されます。 SELECT ステートメント、INSERT、UPDATE、および DELETE 操作を実行できます。

$sql = "SELECT * FROM mydb WHERE id=1"; // 查询语句
$res = mysqli_query($con, $sql); // 执行查询操作
if (mysqli_num_rows($res) > 0) { // 判断是否有查询结果
  while ($row = mysqli_fetch_assoc($res)) { // 循环获取查询结果的每一行数据
    echo "ID: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>"; // 输出每一行数据
  }
} else {
  echo "没有查询结果"; // 没有查询结果,输出提示信息
}
mysqli_close($con); // 关闭数据库连接
ログイン後にコピー
  1. mysqli_fetch_array() 関数

mysqli_fetch_array() 関数は、結果セットからデータの最初の行を取得し、それを配列の形式で返すために使用されます。主に SELECT 操作に使用されます。

$sql = "SELECT * FROM mydb"; // 查询语句
$res = mysqli_query($con, $sql); // 执行查询操作
if (mysqli_num_rows($res) > 0) { // 判断是否有查询结果
  while ($row = mysqli_fetch_array($res)) { // 循环获取查询结果的每一行数据(使用mysqli_fetch_array方式)
    echo "ID: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>"; // 输出每一行数据
  }
} else {
  echo "没有查询结果"; // 没有查询结果,输出提示信息
}
mysqli_close($con); // 关闭数据库连接
ログイン後にコピー
  1. mysqli_num_rows() 関数

mysqli_num_rows() 関数は、クエリ結果セット内の行数を取得するために使用されます。

$sql = "SELECT * FROM mydb"; // 查询语句
$res = mysqli_query($con, $sql); // 执行查询操作
$num = mysqli_num_rows($res); // 获取查询结果集的行数
echo "查询结果总共有:" . $num . " 行"; // 输出查询结果总共的行数
mysqli_close($con); // 关闭数据库连接
ログイン後にコピー
  1. mysqli_affected_rows() 関数

mysqli_affected_rows() 関数は、INSERT、UPDATE、DELETE およびその他の操作によって影響を受ける行数を取得するために使用されます。

$sql = "UPDATE mydb SET name='张三' WHERE id=1"; // 修改语句
$res = mysqli_query($con, $sql); // 执行UPDATE语句
$num = mysqli_affected_rows($con); // 获取修改影响的行数
echo $num . " 行记录被修改"; // 输出修改影响的行数
mysqli_close($con); // 关闭数据库连接
ログイン後にコピー

3. 概要

この記事では、PHP を介してデータベースに接続し、データベースにクエリを実行する方法を紹介しました。まず、mysqli_connect() 関数を使用して、MySQL データベースへの接続を確立できます。次に、mysqli_query() 関数を使用して SQL ステートメントを発行し、結果セットを処理する方法について説明しました。最後に、主要なクエリ データ操作関数のいくつかと、クエリ結果セット内の行数と影響を受ける行の数を取得する方法を紹介しました。

この記事を通じて、PHP でデータベースに接続し、データベースにクエリを実行する基本的な操作を理解していただければ幸いです。もちろん、この記事は入門レベルの記事であり、PHP にはさらに強力なデータベース操作機能もありますので、興味のある方はご自身でさらに深く学習していただくことも可能です。

以上がPHP を使用してデータベースに接続してクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPアレイの重複排除のためのベストプラクティスは何ですか PHPアレイの重複排除のためのベストプラクティスは何ですか Mar 03, 2025 pm 04:41 PM

PHPアレイの重複排除のためのベストプラクティスは何ですか

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? Mar 03, 2025 pm 04:47 PM

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか?

PHPアレイの重複排除は、キー名の一意性を利用できますか? PHPアレイの重複排除は、キー名の一意性を利用できますか? Mar 03, 2025 pm 04:51 PM

PHPアレイの重複排除は、キー名の一意性を利用できますか?

PHPアレイの重複排除のための最適化手法は何ですか PHPアレイの重複排除のための最適化手法は何ですか Mar 03, 2025 pm 04:50 PM

PHPアレイの重複排除のための最適化手法は何ですか

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

最新のPHPコーディング基準とベストプラクティスは何ですか?

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

PHP拡張機能とPECLを使用するにはどうすればよいですか?

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は?

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

リフレクションを使用してPHPコードを分析および操作する方法は?

See all articles