データベースはネットワーク プログラミングの重要な部分であり、大量のデータを保存および管理するために使用されます。ネットワークアプリケーションでは、ユーザー情報や製品情報などのデータ情報を保存・管理する必要があるため、Webサイト開発にはデータベースの運用が欠かせません。広く使用されているバックエンド サーバー プログラミング言語として、PHP は一連のデータベース操作機能も提供しており、データベースを簡単に追加、削除、変更できます。
この記事では、SQL ステートメント、PDO クラス、MySQLi クラスなど、PHP で一般的に使用されるデータベースの追加、削除、変更操作を簡単に紹介します。この記事での紹介が、開発者が PHP でのデータベースの操作をよりよく理解するのに役立つことを願っています。
1. SQL ステートメント
SQL ステートメントはデータベースの一般的なクエリ言語であり、ステートメントを通じてデータベースを操作して追加、削除、変更を完了するために使用されます。データの確認、チェックなどの操作を行います。 PHP の SQL ステートメントを通じてデータベースを操作するには、mysql_query() 関数、mysqli_query() 関数、および PDO 前処理ステートメントを使用できます。
1.mysql_query() 関数
mysql_query() 関数は、PHP で SQL ステートメントを実行するために使用される関数です。この関数を使用するには、MySQL データに接続し、この関数を通じて SQL ステートメントを渡してデータを操作する必要があります。たとえば、INSERT コマンドを使用してデータを挿入します。
<?php $con = mysql_connect("localhost","root","password"); mysql_select_db("my_db", $con); mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); mysql_close($con); ?>
2.mysqli_query() 関数
mysqli_query() 関数は、パラメーター バインディングを持つ SQL ステートメント用の PHP の関数です。 mysql_query() 関数とは異なり、mysqli_query() 関数はパラメータ バインディングを持つ SQL ステートメントをサポートします。たとえば、INSERT コマンドを使用したデータの挿入は次のように記述できます。
<?php $mysqli = new mysqli("localhost", "root", "password", "my_db"); $stmt = $mysqli->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)"); $stmt->bind_param("ssi", $fname, $lname, $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $stmt->execute(); $stmt->close(); $mysqli->close(); ?>
3.PDO プリペアド ステートメント
PDO (PHP Data Objects) は、アクセスおよび操作に使用できる PHP 拡張機能です。 MySQL、Oracle、SQL Server などのさまざまなタイプのデータベース。 PDO プリペアド ステートメントを使用すると、渡されたパラメーターに基づいて SQL ステートメントを実行できます。たとえば、データを挿入するには、INSERT コマンドを使用します。
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password"); $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (:fname, :lname, :age)"); $statement->bindParam(':fname', $fname); $statement->bindParam(':lname', $lname); $statement->bindParam(':age', $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $statement->execute(); $pdo = null; ?>
2. PDO クラス
PDO クラスは、データベースと対話するために使用される PHP のパッケージです。 PDO クラスを通じてデータベースに接続するには、prepare() メソッドを使用して準備済みステートメントを作成し、SQL ステートメントにパラメーターを追加して、SQL ステートメントとデータをexecute() メソッドに提供します。 PDO クラスは、トランザクションを開いて送信するための beginTransaction() や commit() などのメソッドも提供します。
<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=my_db", "root", "password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); try { $statement = $pdo->prepare("INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)"); $statement->bindParam(1, $fname); $statement->bindParam(2, $lname); $statement->bindParam(3, $age); $fname = "Peter"; $lname = "Griffin"; $age = 35; $statement->execute(); $pdo->commit(); } catch(PDOException $e) { $pdo->rollback(); echo "Error: " . $e->getMessage(); } $pdo = null; ?>
3. MySQLi クラス
MySQLi クラスは、PHP で MySQL を使用するための拡張ライブラリです。提供される関数は、mysql_* 関数よりも強力で安全です。トランザクションやストアド プロシージャなどの新しい MySQL サーバー機能をサポートします。 MySQLi クラスを使用するには、new キーワードを使用して mysqli クラスのインスタンスを作成し、connect() メソッドを呼び出して MySQL サーバーに接続する必要があります。
<?php $mysqli = new mysqli("localhost", "root", "password", "my_db"); $mysqli->query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); $mysqli->close(); ?>
概要
この記事では主に、SQL ステートメント、PDO クラス、MySQLi クラスなど、PHP での一般的なデータベースの追加、削除、変更操作を紹介します。この記事の導入を通じて、さまざまな操作方法とその長所と短所について学び、セキュリティにおけるパラメータ バインディングの役割にも注意することができます。もちろん、実際の開発においても、ユーザーのニーズを最大限に活かすために、プロジェクトのニーズに応じて最適なデータベースの運用方法を用いる必要があります。
以上がPHP がデータベースをどのように操作するかの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。