ホームページ バックエンド開発 PHPチュートリアル PHP MySQLデータベースのCRUD操作を始めましょう

PHP MySQLデータベースのCRUD操作を始めましょう

Mar 01, 2025 am 10:18 AM

このチュートリアルは、PHPとMySQLを使用して、基本的なCRUD(作成、読み取り、更新、削除)操作を示しています。 これは、PHP開発者がデータベース接続を学習するための素晴らしい出発点であり、あらゆるWebアプリケーションにとって重要なスキルです。 シンプルさのためにコア

関数に焦点を当てます。mysqli データベースは、データベースがアプリケーションデータを保存するため、ほとんどのWebアプリケーションのデータベース接続は基本です。 このガイドでは、

拡張機能を有効にした動作PHPおよびMySQLインストールを想定しています。 これを使用してこれを確認できます(「mysqli」セクションを探します)またはコマンドラインツール:

を使用できます。 出力は、有効になっている場合はmysqliをリストする必要があります。phpinfo() php -mカバーしましょう:mysqli

データベース接続の確立

データベースの選択
  • レコードの挿入と更新
  • 記録の取得
  • レコードの削除
  • データベース接続:

関数を使用して手続きアプローチを使用して、明確にします。 関数には4つの引数が必要です:

mysqli_connect

:mysql server hostnameまたはip(例:
$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}");
var_dump($connection_obj);
    )。
  • {MYSQL_HOSTNAME}localhost:mysql username(頻繁に127.0.0.1)。
  • {MYSQL_USERNAME}:mysqlパスワード(多くの場合、最初は空白)。root
  • :データベース名。{MYSQL_PASSWORD}
  • 接続の成功は接続オブジェクトを返します。 エラー処理が不可欠です:{MYSQL_DATABASE}

データベースの選択:

$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}", "{MYSQL_DATABASE}");
if (!$connection_obj) {
    echo "Error No: " . mysqli_connect_errno();
    echo "Error Description: " . mysqli_connect_error();
    exit;
}

でデータベースを指定することはできますが、では、接続後にデータベースを切り替えることができます:

mysqli_connectmysqli_select_db接続オブジェクトとデータベース名を引数として取得します。

$connection_obj = mysqli_connect("{MYSQL_HOSTNAME}", "{MYSQL_USERNAME}", "{MYSQL_PASSWORD}");
if (!$connection_obj) { /* error handling as above */ }
mysqli_select_db($connection_obj, "{MYSQL_DATABASE}");
レコードの作成と更新:

mysqli_select_db

mySQLテーブルを作成します(例:phpmyadminを使用):

挿入:

CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `phone` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

非常に重要なことに、SQL注入の脆弱性を防ぎます

更新:
$name = 'John Smith';
$email = 'john.smith@yahoo.com';
$phone = '541-754-1234';

$query = "INSERT INTO employee(`name`,`email`, `phone`)
VALUES ('" . mysqli_real_escape_string($connection_obj, $name) . "','" . mysqli_real_escape_string($connection_obj, $email) . "','" . mysqli_real_escape_string($connection_obj, $phone) . "')";

mysqli_query($connection_obj, $query);

mysqli_real_escape_string

記録の取得:

$id = 1;
$phone = '333-555-4444';

$query = "UPDATE employee SET `phone` = '" . mysqli_real_escape_string($connection_obj, $phone) . "' WHERE `id` = '" . (int)$id . "'";
mysqli_query($connection_obj, $query);

行を取得します。 名前またはインデックスで列にアクセスできます。 連想配列のみを提供します。

$query = "SELECT * FROM employee";
$result = mysqli_query($connection_obj, $query) or die(mysqli_error($connection_obj));

while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
    echo "ID:" . $row['id'] . "<br>";
    echo "Name:" . $row['name'] . "<br>";
    echo "Phone:" . $row['phone'] . "<br>";
    echo "Email:" . $row['email'] . "<br><br>";
}

レコードの削除:mysqli_fetch_arrayMYSQLI_BOTH mysqli_fetch_assoc

すべての操作の後、

を使用して接続を閉じることを忘れないでください。 この例は、PHPでのより複雑なデータベースインタラクションの基盤を提供します。 SQL注入を防ぐために、常にユーザー入力を消毒することを忘れないでください。

Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases Get Started With CRUD Operations in PHP MySQL Databases

(注:画像URLは元の入力からのプレースホルダーです。必要に応じて実際の画像URLに置き換えます。

以上がPHP MySQLデータベースのCRUD操作を始めましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

AIを活用した投資調査により賢明な意思決定を実現

ホットツール

メモ帳++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で有効かどうかを確認する方法は? Sep 21, 2025 am 04:07 AM

usefilter_var()tovalidateemailsyntaxandcheckdnsrr()toverifydomainmxrecords.example:$ email = "user@example.com"; if($ email、filter_validate_email)

PHPでオブジェクトの深いコピーまたはクローンを作成する方法は? PHPでオブジェクトの深いコピーまたはクローンを作成する方法は? Sep 21, 2025 am 12:30 AM

useunserialize(serialize($ obj))fordeepcopying whenalldataisserializable;それ以外の場合は、__clone()tomaniallyduplicatededededededavoidsharedReferenceを実装します。

PHPで2つの配列をマージする方法は? PHPで2つの配列をマージする方法は? Sep 21, 2025 am 12:26 AM

usearray_merge()tocombinearrays、urblitingduplicatestringkeysandreindexingnumerickeys; forsimplerconcatenation、inthphp5.6、usethesplatoperator [... $ array1、... $ array2]。

PHPプロジェクトで名前空間を使用する方法は? PHPプロジェクトで名前空間を使用する方法は? Sep 21, 2025 am 01:28 AM

NamesSpacesInphporganizeCodeandPreventnamingConflictsByGroupingClasses、インターフェイス、関数、およびコンテンダントアンダースピフィクティフィクティフィクティフィクティフィクショナル

PHPを使用してデータベースでレコードを更新する方法は? PHPを使用してデータベースでレコードを更新する方法は? Sep 21, 2025 am 04:47 AM

toupdateadatabaserecordinphp、firstconnectusingpdoormysqli、thenuseprepreadedStatementStoeaseaseesecuresQlupDateQuery.example:$ pdo = newpdo( "mysql:host = localhost; dbname = your_database"、$ username、$ username、$ sibsfar

PHPの魔法の方法とは何ですか? `__call()`および `__get()`の例を提供します。 PHPの魔法の方法とは何ですか? `__call()`および `__get()`の例を提供します。 Sep 20, 2025 am 12:50 AM

the__call()メソッドは、customhandlingbyacceptingthemetodnameandarguments、ashownwhencollingdsslikesayhello()

PHPでファイル拡張機能を取得するにはどうすればよいですか? PHPでファイル拡張機能を取得するにはどうすればよいですか? Sep 20, 2025 am 05:11 AM

usepathinfo($ filename、pathinfo_extension)togetthefileextension; itreliailailavaliavelyhandlesmultipledotsendedgecases、returningtheextension(例えば、 "pdf")oranemptystringifnoneexists。

PHPで親コンストラクターを呼び出す方法は? PHPで親コンストラクターを呼び出す方法は? Sep 21, 2025 am 03:43 AM

callparent :: __ construct()toensuretheparent'sinitializationlogicruns.1.iftheparentClassConstructorsetSorsetorsEntialProperties、SkippingthiscallmayultininincompliedInitialization.2.useparent :: __ construments()insideTheTheChild’sco

See all articles