PHPラボ

PHPとMySQLの連携

PHPとMySQLの連携

前項までに、データーベースの扱い方を説明してきましたが、WEBアプリケーションを構築する場合、PHPからデーターベースを操作する必要(PHPとMySQLの連携)があります。そこで、まずはPHPからデーターベースに接続する方法を説明します。

データーベースへの接続

文法:
コネクタ=mysql_pconnect(ホスト名,ユーザー名,パスワード);
mysql_select_db(データーベース名,コネクタ);

例:
$con=mysql_pconnect("localhost","penta","phplabo");
mysql_select_db("toiawase",$con);

コネクタ($con)は、上記2つのプログラミングを接続するだけに使用するため、どのような名前でもOKです。ホスト名は、通常localhostで(WEBサーバーとDBサーバーが一緒の場合)、あとは、そのデーターベースの、ユーザー名、パスワードを記入してやればデーターベースに接続完了です。

*通常、上記プログラミングは、複数のPHPドキュメントから参照されることが多いため、外部ファイルにして、各ドキュメントからはその外部フィアルを参照(include();)されることが多いです。

データーベースへの接続

それでは、前半までで構築したメール送信システムを改造していきましょう。
とりあえず、データーベースへの接続プログラミングをindex_s.php(メールを送信するプログラミングがあるドキュメント)に、追加しました。

SQLの発行

SQLの発行は、mysql_queryという関数を使用して行います。

文法:レコードセット=mysql_query(SQL文,コネクタ);

例:mysql_query("INSERT INTO toiawase_data(name,mail1,mail2,subject,message)VALUES('ペンタ','penta','webpenta.com','テスト投稿','ここに本文が入ります。');

ただし、上記、例のままだと、フォームから受け取った値を入れることができません。そこで、下記のようにプログラミングします。

sprintfを使用する

$data_sqlは、通常は改行しません(見やすくするために改行しているだけです)。

上記のようにsprintfという関数を使用します。sprintfは、%sに後ろに書いた変数(今回の場合はセッション変数)を代入してくれる関数です。%sは、テキストの場合は、'%s'になり、数字の場合%sだけでOKです。

最後に、$data_sqlをmysql_queryで発行してやれば、これで、フォームからデーターを受け取って、そのデーターを挿入するプログラミングが完成です。

Copyright (c) Penta Creation All rights reserved.