ホームページ > バックエンド開発 > PHPチュートリアル > PHP と mysql の組み合わせの詳細な説明

PHP と mysql の組み合わせの詳細な説明

韦小宝
リリース: 2023-03-20 22:52:01
オリジナル
6220 人が閲覧しました

PHP 開発で多くの PHP プログラマーが使用するデータベースは mysql データベースだと思いますが、なぜ PHP 開発を mysql データベースと組み合わせる必要があるのでしょうか? それでは、見てみましょう。 php と mysql の組み合わせについて、なぜ PHP 開発を mysql と組み合わせる必要があるのか​​について詳しく説明します。

おすすめの mysql ビデオ チュートリアル: 「mysql チュートリアル」                                            

パート 1: 私のアプリ ツール。

phpstudy: このパッケージは最新の Apache+PHP+MySQL+phpMyAdmin を統合しており、一度インストールすれば設定なしで使用でき、非常に便利で使いやすい PHP デバッグ環境です。 php、mysql、appche を個別にダウンロードしてインストールする必要はなくなり、シンプルで便利です。
まず次の phpstudy について理解してください:
PHP と mysql の組み合わせの詳細な説明

上の図の [MySQL Manager] をクリックし、MySQL-Front を選択します
PHP と mysql の組み合わせの詳細な説明

次のインターフェイスが表示されます:
開いた後、正式なデータベース インターフェイスに入ります。 。
PHP と mysql の組み合わせの詳細な説明
以下のmysqlを皆さんに見ていただくだけで、具体的な動作は後ほど説明します。

この部分で私が遭遇した主な問題は、図 5 でローカルホストを開いたときに mysql に接続できないことでした。他に方法がなかったため、phpstudy を再インストールすることにしました。

パート 2: php、apache、mysql の関係を理解し​​ます。

顧客がオンラインストアで書籍を購入した後、オンラインストアのオーナーがメーカーに商品を受け取りに行き、商品を顧客に発送します。
フローチャートは次のとおりです:

PHP と mysql の組み合わせの詳細な説明
上の図から、顧客と店舗オーナーは直接通信するのではなく、通信サービスを提供する店舗オーナーを通じてデータを交換することがわかります。 phpapache、データベースの関係は、顧客、ショップオーナー、メーカーの関係に似ています。 PHP は何らかのデータを必要とし、apache サーバーにリクエストを直接送信し、データベースは応答データを取り出して apache サーバーに渡します。 サーバーはそれを PHP に送信します。 1. なぜ PHP とデータベースは直接通信できず、Apache を経由する必要があるのですか?
例: PHP とデータベースは、国籍の異なる 2 人の人のようなものです。前者は中国出身で、後者は米国出身です。言語の壁により、ビジネスはおろか、コミュニケーションも困難になります。たまたま、中国語と英語の両方を理解する apache という名前の人がいて、彼は PHP の要件を英語に翻訳し、データベースに対応する商品を取り出して Apache に渡し、Apache はそれを PHP に渡します。

PHP 言語とデータベース データは相互に認識できないため、Apache を介して変換する必要があります。


2. なぜ Apache がサーバーとデータベースの両方として機能できないのですか? ?
これは合理的な分業の問題を​​解決するために設計されています。 Apache をデータベースとマージすると、Apache がストアオーナーとメーカーの両方になることと同じになり、Apache サーバーの負荷が大幅に増加します。データが小さい場合は、Apache が負担できますが、データが大きい場合は、倉庫の輸送と管理作業を Apache が負担する必要があり、最終的な効率が大幅に低下する可能性があります。工場への仕事。
mysqlデータベース
(データベース)

世界中には多くのデータベースがあり、mysqlは最も人気のあるデータベースです。

MySQL は、スウェーデンの MySQL AB によって開発され、現在 Oracle が所有するリレーショナル データベース管理システムです。 MySQL はリレーショナル データベース管理システムであり、すべてのデータを 1 つの大きなウェアハウスに置くのではなく、異なるテーブルに保存するため、速度と柔軟性が向上します。 (

MySQL データベースは、商品を分類して別の倉庫に配置することに相当します。各倉庫は小さなデータベースであり、工場は大きなデータベースです。これにより、商品へのアクセスが容易になります。商品が分類されて保管されていない場合、それは明らかです保管効率が大幅に低下します)。 RDBMS (リレーショナル データベース管理システム) の特徴: 1. データはテーブルの形式で表示されます 2. 各行にはさまざまなレコード名が含まれます

3. 各列にはレコード名に対応するデータ フィールドが含まれます

4 . 多くの行と列がフォームを形成します
5. 複数のフォームがデータベースを形成します

パート 3: php を使用して mysql データベースを操作する

1. php スクリプト を使用してデータベースに接続します

PHP は、データベースに接続するための mysql_connect() 関数を提供します。この関数には 5 つのパラメータがあり、通常は最初の 3 つだけを使用します。

这里你也许会问,php可以连接数据库那appache干什么去了。
这里说明一下,apache是一个服务器,其构筑了一个php和数据库可以沟通的环境.php和数据库这两个讲不同语言的人打电话,
通过apache这个同声翻译系统进行沟通
ログイン後にコピー

。server は接続先のサーバーを指定します。 「hostname:port」などのポート番号、またはローカルホストの「:/path/to/socket」などのローカルソケットへのパスを含めることができます。
PHP ディレクティブ mysql.default_host が定義されていない場合 (デフォルトの場合)、デフォルト値は「localhost:3306」です。
。 ユーザー ユーザー名。デフォルト値は、サーバープロセス所有者のユーザー名です。
. パスワード パスワード。デフォルト値は空のパスワードです。

php mysql_close は、mysql データベースから切断するために使用されます。通常の状況では、スクリプトは実行後に自動的に切断されるため、この文を記述する必要はありません。ただし、mysql_close() は、mysql_pconnect() によって確立された永続的な接続を閉じません。
データベースに接続します:

<?php
header("content-type:text/html;charset=utf-8");
$servername = "127.0.0.1";//服务器主机地址
$username = "root";//访问数据库的用户名
 $password = "root";//访问数据库的密码
 //phpstudy的mysql有一个默认用户名(root)和密码(root)

// 创建连接
$conn = mysql_connect($servername, $username,$password);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开
连接。
}
echo "连接成功";
mysql_close($conn);//关闭连接。
?>
ログイン後にコピー

誰もがデータベースにアクセスできるわけではなく、許可されたユーザーのみがデータベースにアクセスできます。次に、mysql-front ツールを使用してユーザーを追加する方法を説明します。

PHP と mysql の組み合わせの詳細な説明
新しいユーザーを追加した後:

PHP と mysql の組み合わせの詳細な説明
新しいユーザーを使用して操作にアクセスします:

<?php
header("content-type:text/html;charset=utf-8");
$servername = "127.0.0.1";//服务器主机地址
$username = "sunwukong";//访问数据库的用户名
 $password = "jingubang";//访问数据库的密码
 //phpstudy的mysql有一个默认用户名(root)和密码(root)

// 创建连接
$conn = mysql_connect($servername, $username,$password);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开连接。
}
echo "连接成功";
mysql_close($conn);//关闭连接。
?>
ログイン後にコピー

接続は成功しました。

2. データベースの作成

phpはmysql_query(sql、connection)を使用してデータベースを作成または削除します。 mysql_query() は、確立された接続接続を通じて検索クエリ ステートメント SQL をデータベースに送信します。データベースを読み取った後、対応する操作に応答します。

<?php
header("content-type:text/html;charset=utf-8");
$servername = "127.0.0.1";//服务器主机地址
$username = "sunwukong";//访问数据库的用户名
 $password = "jingubang";//访问数据库的密码
 //phpstudy的mysql有一个默认用户名(root)和密码(root)

// 创建连接
$conn = mysql_connect($servername, $username,$password);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开连接。
}
echo "连接成功";
echo "</br>";
$sql = "CREATE DATABASE zhubajie";//CREATE DATABASE是sql语言中创建数据库的语句,这里是一个创建名为“zhubajie”
的数据库的字符串。
$dingpa = mysql_query($sql,$conn);//将$sql查询语句发送给数据库。
if (!$dingpa) {
    die("创建数据库失败:".mysql_error());
}
echo "创建成功";
mysql_close($conn);//关闭连接。
?>
ログイン後にコピー

実行後、
PHP と mysql の組み合わせの詳細な説明

上記のphpファイルを実行すると、下の図に示すエラーが表示されることがあります:

PHP と mysql の組み合わせの詳細な説明
このエラーの理由は、$username = “sunwukong”; を渡したことです。ユーザー名としてデータベースにアクセスする場合、このユーザーは mysql で作成されたときに権限が付与されていませんでした。

PHP と mysql の組み合わせの詳細な説明

3. データベースの削除

データベースの削除も、データベースの作成と同様に mysql_query を通じて実行されます。

PHP と mysql の組み合わせの詳細な説明

4. データテーブルデータを作成します

PHP と mysql の組み合わせの詳細な説明

「id」、「firstname」、「lastname」、「email」、「reg_date」の 5 つの列を持つ「MyGuests」という名前のテーブルを作成します。データ テーブル MyGuests を作成します。

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)
ログイン後にコピー

はデータ テーブルに次のように表示されます:

1PHP と mysql の組み合わせの詳細な説明

ここで、オブジェクト ブラウザによって表示されるテーブルのヘッダー行に注意してください。これは、データのタイプと他の属性。

上の写真は特定のデータチャートです。 PHP と mysql の組み合わせの詳細な説明以下の具体的なコードを見てみましょう:

PHP の初期バージョンでは、MySQL 拡張機能を使用します。ただし、この拡張機能は 2012 年に廃止されました。代わりに、mysqli 拡張機能と PDO を使用します。個人的には mysqli 拡張機能を使用します。 mysqli 拡張機能は mysql 拡張機能の拡張機能であり、使用上は 2 つの拡張機能に違いはありませんが、前者の方が後者よりも強力です。以下では、mysqli のプロセス指向エンコード方式 (オブジェクト指向エンコード方式もあります) を使用して mysql を操作します。上記の MySQL 拡張エンコード方式と比較できます。

1PHP と mysql の組み合わせの詳細な説明

AUTO INCREMENT - 新しいレコードが追加されるたびに自動的に 1 ずつ増加するように MySQL フィールドの値を設定します。
PRIMARY KEY - データ テーブル内の各レコードの一意の識別子を設定します。 通常、列の PRIMARY KEY は AUTO_INCREMENT とともに使用される ID 値に設定されます。各テーブルには主キー (この列は「zhubajie_t」列) が必要であり、主キーには一意の値が含まれている必要があります。 (よく理解できないかもしれませんが、後ほど説明します)

NOT NULL - 各行には値が含まれている必要があり (空にすることはできません)、NULL 値は許可されません。
デフォルト値 - デフォルト値を設定します
UNSIGNED - 符号なしの数値型、0 および正の数を使用します
上記の 3 つの属性は、指定した列のデータ型と同様に列に追加できます。 (ここでしっかりと理解しましょう)。

5. テーブルデータを削除する

PHP と mysql の組み合わせの詳細な説明

実際、男性と女性と同様に、PHP を mysql と組み合わせて開発することが昔から習慣になっています。

関連する推奨事項:

mysql データベースの最適化の概要

データベースの軍事規制を理解するために MySQL を例として取り上げます

以上がPHP と mysql の組み合わせの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート