Presentation is loading. Please wait.

Presentation is loading. Please wait.

情報理工学部 情報システム工学科 4年 H 亀窪祐太 H 纐纈琢真

Similar presentations


Presentation on theme: "情報理工学部 情報システム工学科 4年 H 亀窪祐太 H 纐纈琢真"— Presentation transcript:

1 情報理工学部 情報システム工学科 4年 H107035 亀窪祐太 H107042 纐纈琢真
MySQL+PHP 情報理工学部 情報システム工学科 4年 H 亀窪祐太 H 纐纈琢真

2 PHP PHP(Hypertext Preprocessor)とは、動的にHTMLデータを生成する ことによって、動的なWebページを実現することを主な目的としたプロ グラミング言語、またその言語処理系である。 Webサーバ上で動作し、Webサーバ上の文書が要求されるたびに、 この文書に記述されたPHPのプログラムを実行し、その結果をWebブ ラウザに対して送信する。 PHPは、HTML埋め込み型のサーバサイド・スクリプト言語として分 類され、Webブラウザに送信されるデータは通常のHTMLであり、PHP のプログラムを含まない。この点でHTML埋め込み型のクライアントサ イド・スクリプト言語(JavaScriptなど)と本質的に異なっている。

3 Apache Apache HTTP Serverは、世界中でもっとも使われている Webサーバソフトウェアであり、大規模な商用サイトから自宅 サーバまで幅広く利用されている。単にApacheとも称されて いる。 開発は、Apacheソフトウェア財団のApache HTTPサーバプ ロジェクトで行われている。Apacheライセンスの下でソース コードが公開および配布されており、代表的なオープンソー ス・ソフトウェアの一つである。 (Wikipediaより)

4 このように<?php・・・・?>で
<html> <head>  <title>PHP基礎</title> </head> <body> <?php  echo date("Y/m/d"); ?> </body>   </html> このように<?php・・・・?>で 囲んだ部分にPHPの処理内容を書く

5 PHP基礎 定数の宣言 define(”定数名”,”値”); 変数の宣言 $変数名=代入する値 ※変数の型宣言はいらない
     ※変数の型宣言はいらない   変数名の頭に数字を使ってはいけない 関数の宣言  function 関数名(引数){ ・・・・ } 表示 echo “”; print();

6 使用できる演算子(一部) 算術演算子 比較演算子 論理演算子 加算 + 減算 - 乗算 * 除算 / 剰余 % 等しい ==
加算 + 減算 - 乗算 * 除算 / 剰余 % 比較演算子 等しい == 大きい < 小さい > 以上  <= 以下  >= 以外  !=      <> 論理演算子 かつ &&      and または || or ~でない  !

7 html フォーム 受け取ったデータは$_POST[データの名前]で利用できる
<form method=”post” action=”データを受け取るプログラムのURI”> <input type=”送るデータの型” name=”データの名前” /> <input type=”submit” value=”ボタンの名前” /> 受け取ったデータは$_POST[データの名前]で利用できる

8 PHP基礎 演習 htmlのフォームから数字を読み込み、読み 込んだ数字までカウントするプログラムを作 ろう

9 PHP+MySQL mysqlの接続方法 $con = mysqli_connect(ホスト名,ユーザー名,パスワード, データベース名);
if(!$con) { die(“DB connect Error"); } mysqli_close($con);

10 PHP+MySQL SQL文の使い方 //SQL文を用意 $sql = ”select * from php_test”;
$result = mysqli_query($con,$sql) //実行結果を配列に格納 $row = mysqli_fetch_array($result)

11 PreparedStatement 複数のSQLを実行する場合に、検索条件や更新する値のみ が異なる場合に、その値をパラメータ化し、SQLを使い回すこと ができる このようなSQLをPreparedStatementと言う。 プリペアードステートメントの実行は、解析が 1 回しか行われ ないため、ステートメントを直接複数回実行するよりも高速 SQLの構文解析はプレースホルダのまま行われるのでセキュ リティが向上する

12 PreparedStatement 実行するためのステートメントを準備する
mysqli_prepare(mysqliリンク,sqlクエリ) PreparedStatementのパラメータに変数をバインドする mysqli_stmt_bind_param(ステートメント,”変数の型”,変数名) 変数の型: int型→ it double型→ d  string型→ s 実行 mysqli_stmt_execute( ステートメント ) 成功したらTrue 失敗したらFalseを返す

13 PreparedStatement 結果変数をバインド 結果を読み取り、バインド変数に格納する 閉じる
mysqli_stmt_bind_result(ステートメント,変数名) 結果を読み取り、バインド変数に格納する mysqli_stmt_fetch(ステートメント) 閉じる mysqli_stmt_close(ステートメント)

14 PreparedStatement // 実行するSQL文を用意
$sql = "select * from db_test where id = ? and pass = ?"; // Prepared Statementの作成 $stmt = mysqli_prepare( $con, $sql ); // Prepared Statementの割り当て mysqli_stmt_bind_param( $stmt, "is", $_POST[id], $_POST[pass] ); // Prepared Statementを実行する mysqli_stmt_execute( $stmt ); PHP5かつMySQL4.1.3以上で有効

15 PreparedStatement // 実行結果を格納する変数の割り当て
mysqli_stmt_bind_result($stmt,$id,$pass); // Prepared Statementの実行結果を割り当てた変数に格納 mysqli_stmt_fetch($stmt) //ステートメントを閉じます mysqli_stmt_close($stmt); PHP5かつMySQL4.1.3以上で有効

16 課題1 カラムcount(int型)を持つテーブルを作り、 アクセスカウンタを作成せよ countの中にレコード0を入れておく

17 課題2 HTMLでテーブルを 作成し、PHPでmysql からレコードを取得 して右の表を表示させよ 学籍番号 名前 係 h108021
上村亮祐 収集 h108041 加藤雄大 コーヒー h108044 北浦繁 ウェブ h108049 小島一平 準備 h108068 杉浦達郎 レク h108086 千葉僚 h108096 永井慎也 就職活動 h108097 成瀬基樹 ネット h108099 丹羽智春 部屋長 h108102 濱口賢人 h108105 原口英紀 h108137 山崎貴英 ゼミ長 h108139 山下佳隆 h208073 平野敦 テーブルの内容は紙に印刷して渡す 内容 ゼミ室にある3年生の名前、学籍番号、係の表をテーブルで表示

18 課題3 PreparedStatementを使って、課題2に以下の 二つの機能を付け加えよ 係名での検索機能 係のレコードの変更機能


Download ppt "情報理工学部 情報システム工学科 4年 H 亀窪祐太 H 纐纈琢真"

Similar presentations


Ads by Google