-> 데이터를 저장한다.
데이터를 보관하는 큰 하나의 단위
was가 동적페이지를 만들기 위해 db와 이야기함
엑셀로 비유하자면
Database
-> 엑셀 파일
Table
-> 엑셀 시트
Column
-> 열, 데이터 종류, 카테고리
Row
-> 행, 가로 데이터
-> DB랑 소통할 때 쓰는 언어
데이터를 가져온다.
select 문법 기본
select [컬럼 이름] from [테이블 이름]
select name, pass from test_table
->
데이터를 넣는 명령어
insert into [테이블 이름] (컬럼 이름) value (값)
insert into test_table (name, score, pass) value ('mario', '100', '1234')
insert into test_table value (NULL, 'mario', '100', '1234')
조건을 통해 정교한 select 사용하기
SELECT * FROM [테이블] WHERE [조건]
SELECT * FROM member WHERE name='mario'
-> 이름이 'mario'인 회원 정보 조회
was가 db에게 이야기 하는 방법
-> php - mysql
DB에게 이야기 하기 SQL라는 언어로
DB는 도도하기 때문에 아무한테나 쉽게 이야기 해주지 않는다
DB랑 이야기 할 수 있는 티켓(커넥터?)이 필요함
인증된 사람이라는 증거
-> DB에 로그인해야됨 ID, PASS 필요
로그인 하는 법
php mysql_connect 함수에
DB IP 주소
DB ID
DB 비밀번호
DB 이름
로그인 성공하면 티켓을 받게됨
티켓?, 디스크립터?, 커넥터?
변수에 넣어서 저장
$db_conn = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
연될 확인하기
if($db_conn){
ehco "DB Connect OK";
}else {
ehco "DB Connect Fail";
}
was가 db와 이야기 하려면 로그인 해야됨
db 아이디 비번 알아야됨
was에는 db 아이디 db 비밀번호가 무조건 저장되어있을 수 밖에 없다.
없으면 db랑 이야기 못하니까
-> 웹서버의 쉘이 털리면? db도 같이 털림
만약 내가 웹 쉘을 획득하면 가장 먼저 해야하는거 db 추출
php
define -> 상수 선언
define('DB_SERVER', 'localhost');
$sql = "select * from test_table";
이 sql을 티켓가지고 실행해야 해
실행하는법
mysqli_query($db_conn, $sql);
이렇게 실행하면 실행하고 결과 땅에 버림
변수에 담자
$result = mysqli_query($db_conn, $sql);
변수를 출력해보면
var_dump($result)
객체, 정보 덩어리, 패키지 출력됨
여러가지의 행
원하는 정보, 하나의 행만 추리기
mysqli_fetch_array($result);
맨 위에있는 로우대로 하나씩 넣어줌
맨 위에있는 하나의 행 출력됨
$row = mysql_fetch_array($result);
$row 에서 이름만 가져오는 방법
echo "Name : " . $row['name'];
$db_pass = $row['pass'];
if($_POST[pass])