PHP データベース接続には、データベースのホスト名、データベース名、接続の確立 (mysqli_connect())、エラー処理 (mysqli_error() および mysqli_errno())、永続的な接続 (mysqli_pconnect())、および準備されたステートメント、トランザクション、および実際のケース (ユーザーデータの読み取り)。
PHP データベース接続の究極ガイド
はじめに
データベースとの対話は、動的な Web アプリケーションを構築するための鍵です。 PHP には、強力で信頼性の高いデータベース接続を確立するためのさまざまなオプションが用意されています。この記事では、基本的な概念から高度なテクニックまで、PHP データベース接続テクノロジについて包括的に紹介します。
データベース接続の基本
データベース接続は 2 つの主要な要素で構成されます:
接続の確立
データベースへの接続を確立するには、PHP の mysqli_connect()
関数を使用できます: mysqli_connect()
函数:
$mysqli = mysqli_connect("localhost", "root", "password", "database_name");
此函数返回一个 mysqli
对象,它表示与数据库的连接。如果连接失败,它会返回 false。
错误处理
错误处理对于确保连接到数据库的代码的可靠性至关重要。使用 mysqli 函数 mysqli_error()
和 mysqli_errno()
来获取连接错误信息:
if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; }
持久连接
持久连接有助于提高应用程序的性能,因为它可以复用先前建立的连接。要启用持久连接,请使用 mysqli_pconnect()
函数:
$mysqli = mysqli_pconnect("localhost", "root", "password", "database_name");
高级特性
预处理语句
预处理语句可以防止 SQL 注入攻击,并提高查询性能:
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username = ?"); $stmt->bind_param("s", $username); $stmt->execute();
事务
事务允许您将多个数据库操作组合成一个事务性单元。如果任何操作失败,整个事务将回滚:
$mysqli->begin_transaction(); $mysqli->query("INSERT INTO orders (product_id, quantity) VALUES (1, 5)"); $mysqli->commit();
实战案例:读取用户数据
假设您有一个 users
表,其中包含 id
, username
, email
$mysqli = mysqli_connect("localhost", "root", "password", "database_name"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } $sql = "SELECT * FROM users"; $result = $mysqli->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "ID: " . $row["id"] . "
"; echo "Username: " . $row["username"] . "
"; echo "Email: " . $row["email"] . "
"; } } else { echo "No users found."; } $mysqli->close();
mysqli
オブジェクトを返します。 、データベースへの接続を表します。接続に失敗した場合は false を返します。 エラー処理
エラー処理は、データベースに接続するコードの信頼性を確保するために重要です。 mysqli 関数mysqli_error()
および mysqli_errno()
を使用して、接続エラー情報を取得します。 🎜rrreee🎜🎜永続接続🎜🎜🎜永続接続は、アプリケーションのパフォーマンスを向上させるのに役立ちます。以前に確立された接続を再利用します。永続的な接続を有効にするには、mysqli_pconnect()
関数を使用します: 🎜rrreee🎜🎜高度な機能🎜🎜🎜🎜準備されたステートメント🎜🎜🎜準備されたステートメントは SQL インジェクション攻撃を防ぎ、クエリのパフォーマンスを向上させることができます:🎜 rrreee🎜🎜トランザクション🎜🎜🎜トランザクションを使用すると、複数のデータベース操作を 1 つのトランザクション単位に結合できます。いずれかの操作が失敗した場合、トランザクション全体がロールバックされます: 🎜rrreee🎜🎜実際の例: ユーザー データの読み取り🎜🎜🎜 id
を含む users
テーブルがあるとします。 、ユーザー名
、メール
列。すべてのユーザー情報を読み取る PHP スクリプトを作成します。 🎜rrreee🎜🎜結論🎜🎜🎜 この記事で説明されている手順に従うことで、強力で信頼性の高い PHP データベース接続を確立できます。プリペアドステートメント、トランザクション、高度な機能を使用して、コードのパフォーマンスとセキュリティを向上させます。 🎜以上がPHP データベース接続に関する究極のガイド: 知っておくべきことをすべて網羅の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。