PHP For Beginners 튜토리얼의 4PDO 및 데이터베이스 기반

9144 단어 MySQLPHP

본 시리즈의 목적


체계적인 웹 인코딩 훈련을 할 수 있도록 PHP를 처음 배운 계기에 PHP로 로그인 폼과 폼을 실현할 수 있다
PHP For Beginners
위와 같은 강좌를 진행하고 있기 때문에 그 비망록.
지난번

컨텐트


본 강좌
PHP Tutorial For Beginners: Use PDO To Connect To MySQL Database
한 일
· PDO를 사용하여 MySQL에 연결합니다.
• MySQL로 테이블을 만들고 거기에 데이터를 로그인합니다.
· 등록된 데이터를 변경하거나 삭제합니다.
인도물
pdo.php
<?php

    try {

        $PDO = new PDO("mysql:host=localhost;dbname=pdotutorial", "root", "");  //サーバーのIPアドレスやURL、ユーザー名、パスワード

        // 登録するデータを宣言する

        $name = "test1";
        $email = "[email protected]";

        // how to insert data using PDO ?
        // $stmt = $PDO->prepare("INSERT INTO test(name,email) VALUES(?,?)");
        // $stmt->execute([$name,$email]);
        // ここまでデータをデータベースに登録する基本的な書き方。

        // 登録したデータの内容を変更する。下記はデータのname部分を任意に置き換える例
        // $stmt = $PDO->prepare("UPDATE test SET name=? WHERE id=1");
        // $stmt->execute(["test1 5"]);

        // 登録したデータを削除する
        // $stmt = $PDO->prepare("DELETE FROM test WHERE id=1");
        // $stmt -> execute();

        // データベースに登録さているデータを羅列して表示させる
        $stmt = $PDO->prepare("SELECT name,email FROM test");
        $stmt->execute();
        while($data = $stmt->fetch())
            echo $data["name"] . "->" . $data["email"] . "<br>";

    } catch(PDOException $e) {

        echo $e->getMessage();

    }


?>

ySQL 테이블 만드는 법


1. 새로 만들기 를 클릭합니다.

2. 생성할 데이터베이스의 이름과 문자 코드 확인
→ 이번엔 utf-8Unicode

3. 테이블의 이름과 열 수 결정
→ 열의 수는 데이터의 내용에 따라 결정된다.
예를 들어 내용이 id=1, 이름, 메일 주소 등 데이터인 경우 열의 수는 3이다.

4. 열별 설정
이름의 부분은 PHP에서도 사용되므로 적합한 것을 선택하십시오.
name과 email은 임의의 경계 문자열을 결정하는 VARCHAR와 같은 가변 길이 형식의 문자열을 지정합니다.
id PRIMARY로 인덱스된 Auto Increment를 선택합니다.
이번에는 이런 설정이지만 이 부분은 향후 실제 처리를 바탕으로 데이터에 따라 상세하게 설정하기 때문에 매번 잘 기억하는 것이 중요하다.

이번 코드에 대한 설명


분배 연산자,prepare,execute
<?php

 $stmt = $PDO->prepare("INSERT INTO test(name,email) VALUES(?,?)");
 $stmt->execute([$name,$email]);

アロー演算子はクラスのメソッドやプロパティにアクセスするための演算子である
prepareはexecuteメソッドを実行するために必要なSQL文のことであり書くまでもないがexecuteメソッドはそれを実行するためのものである
つまりこの場合1行目はpdo.phpの冒頭で作成したインスタンスである$PDOにアクセスしその後testという名前のテーブルにあるnameとemailというデータに値を設定する準備が行われており2行目で同じくアロー演算子を使いexecuteメソッドの引数に任意の変数を指定するとその変数に代入された値がそれぞれ設定されそれが一行目の変数$stmtに代入されるのでそれがtestテーブルに記録されるということになる

?>
while 문장과 $stml->fetch();

while($data = $stmt->fetch())
            echo $data["name"] . "->" . $data["email"] . "<br>";

while文はphpにおける繰り返し処理の一つである
while();で引数に設定した値がTRUEである限りendowhile;が書かれるまで繰り返し処理が行われる
$data = $stmt->fetch();はデータベースからデータを取得するための処理
つまりこの一連の処理はまずデータベースに登録されているデータを総て取得しそれをnameの値ーemailの値といった形式で改行しながら書き出すということになる
endwhileが無くても処理が止まるのはデータベースに登録されているデータの数が例えば5つだった場合6つ目は存在しないので$data = $stmt->fetch();はfalseになるので繰り返しは5回で止まるから

참고 자료


PHP의 아로산자(->)는 가능한 한 쉽게 이해할 수 있습니다.
[PHP]query와 prepare의 차이

좋은 웹페이지 즐겨찾기