ホームページ  >  記事  >  バックエンド開発  >  PHP データベース クエリのヒント: mysqli_query 関数を使用して SQL クエリを実行する方法

PHP データベース クエリのヒント: mysqli_query 関数を使用して SQL クエリを実行する方法

王林
王林オリジナル
2023-07-29 16:42:411972ブラウズ

PHP データベース クエリのヒント: mysqli_query 関数を使用して SQL クエリを実行する方法

PHP アプリケーションを開発する場合、データベースとの対話は非常に重要な部分です。クエリ操作の場合、PHP には SQL ステートメントを実行するためのいくつかの組み込み関数が用意されています。この記事では、開発者がデータベース クエリ操作をより効率的に実行できるようにする mysqli_query 関数の使用方法に焦点を当てます。

1. mysqli_query 関数の概要
mysqli_query 関数は PHP の組み込み関数であり、SQL クエリ ステートメントを実行するために使用されます。その基本的な構文は次のとおりです。

mysqli_query($连接对象, $SQL语句);

このうち、$connection オブジェクトは mysqli_connect 関数によって作成されるデータベース接続オブジェクトであり、$SQL ステートメントは実行されるクエリ操作ステートメントです。

2. mysqli_query 関数を使用して単純なクエリを実行する
次は、mysqli_query 関数を使用してクエリ操作を実行する方法を示す簡単な例です:

<?php
// 创建数据库连接
$connection = mysqli_connect("localhost", "用户名", "密码", "数据库名");

// 检查连接是否成功
if (!$connection) {
    die("数据库连接失败:" . mysqli_connect_error());
}

// 执行查询语句
$result = mysqli_query($connection, "SELECT * FROM users");

// 遍历查询结果
while ($row = mysqli_fetch_assoc($result)) {
    echo "ID:" . $row["id"] . ",姓名:" . $row["name"] . ",年龄:" . $row["age"] . "<br>";
}

// 关闭数据库连接
mysqli_close($connection);
?>

上記のコードでは、最初に mysqli_connect 関数を使用します。 データベース接続オブジェクト $connection を作成しました。次に、mysqli_query 関数を使用して単純なクエリ ステートメント「SELECT * FROM users」が実行され、クエリ結果が変数 $result に保存されます。最後に、mysqli_fetch_assoc 関数を使用して $result からレコードの行をフェッチし、それを操作します。

3. クエリ結果の処理
mysqli_query 関数がクエリ ステートメントを実行した後、返された結果はさまざまな方法で処理できます。一般的に使用されるメソッドには、mysqli_fetch_assoc 関数、mysqli_fetch_array 関数、mysqli_fetch_row 関数などがあります。

  1. mysqli_fetch_assoc 関数: 連想配列 (フィールド名をキー名とする) を返します。
  2. mysqli_fetch_array 関数: 連想配列とインデックス配列の組み合わせを返します。
  3. mysqli_fetch_row 関数: インデックス配列 (キー名としてフィールド インデックスを含む) を返します。

これらの関数を使用する場合、ループ ステートメントを使用してクエリ結果を行ごとに処理し、すべてのレコードを取得する必要があります。

4. クエリ結果の例外処理
クエリ操作を実行すると、構文エラーやデータベース接続の中断などのエラーが発生することがあります。アプリケーションのクラッシュを引き起こすこれらのエラーを回避するには、エラーを適切に処理する必要があります。クエリ操作のエラー情報は、以下に示すように、mysqli_error 関数を通じて取得できます。

<?php
$result = mysqli_query($connection, $sql);
if (!$result) {
    die("查询失败:" . mysqli_error($connection));
}
?>

上の例では、クエリが失敗した場合、mysqli_error 関数を通じてエラー情報を取得し、次のように出力します。ダイ機能。このようにして、問題を時間内に発見して解決することができます。

5. セキュリティに関する考慮事項
データベース クエリを実行するときは、悪意のあるインジェクション攻撃を防ぐためにセキュリティの問題も考慮する必要があります。この状況を回避するには、以下に示すように、mysqli_real_escape_string 関数を使用してユーザーが入力したデータをエスケープできます。

<?php
$name = mysqli_real_escape_string($connection, $_POST["name"]);
$sql = "SELECT * FROM users WHERE name='$name'";
$result = mysqli_query($connection, $sql);
?>

上記の例では、mysqli_real_escape_string 関数を使用して、によって入力された $name をエスケープします。エスケープしてクエリ ステートメントの一部として使用します。これにより、ユーザーが入力したデータによってクエリ ステートメントの構造が破壊されなくなり、SQL インジェクション攻撃が回避されます。

概要:
この記事では主に、mysqli_query 関数を使用して SQL クエリ操作を実行する方法を紹介します。 mysqli_query 関数の基本的な使い方をマスターすることで、開発者はデータベースをより便利に操作し、開発効率を向上させることができます。さらに、データベース クエリを実行するときは、システムの安定性とセキュリティを確保するために、例外処理とセキュリティに関する考慮事項に注意を払う必要があります。この記事が、PHP 開発におけるデータベース クエリに役立つことを願っています。

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

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