PHP For Beginners 튜토리얼의 4PDO 및 데이터베이스 기반
본 시리즈의 목적
체계적인 웹 인코딩 훈련을 할 수 있도록 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의 차이
Reference
이 문제에 관하여(PHP For Beginners 튜토리얼의 4PDO 및 데이터베이스 기반), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shitikakei/items/6085a90feed3e2d9f3b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)