1. DB 연결
1) db 사이트 : localhost/myadmin/index.php

아이디 : root
비밀번호 : apmsetup
SQL 클릭 후 create database test 입력 > 실행 클릭


해당 데이터베이스 (test) 더블클릭해야 연결됨

2) 테이블 작성
<bash />
CREATE TABLE test_member (
id varchar(50) NOT NULL,
pass varchar(50) NOT NULL,
regdate timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
3) dbcon.php
<bash />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
// 데이터베이스 연결설정 인자 (서버명, 사용자명, 비밀번호, 데이터베이스명)
$host= "localhost";
$user= "root";
$password= "apmsetup";
$db= "test";
// 데이터베이스에 연결한다.
$conn = @mysql_connect($host,$user,$password);
if(!$conn) {
echo "데이터베이스 연결실패";
exit;
}
// 작업대상 db를 선택(db, conn 둘다 적어야함 안그럼 db에서 한글 깨짐)
$dbnum = mysql_select_db($db,$conn);
mysql_query("set names utf8");
if(!$dbnum) {
echo "데이터베이스 선택실패";
exit;
}
?>
2. session
ㄴ> setAttribute 필요 xxx
<bash />
<?
session_start(); // 세션 초기화 (세션을 쓰겠다라고 알려주는 역할) --> header에 적어놓으면 됨
session_id(); // 랜덤 26자리 제공 (주문번호, 카트번호에 사용하기)
$_SESSION['변수명'] // 세션을 등록 합니다.
?>
<?
//모든 변수의 세션 삭제 처리
session_unset();
//변수 하나 세션 삭제 처리
unset($_SESSION['변수명']);
//session_id() 새로 생성해서 갱신
session_regenerate_id();
echo session_id(); // 값이 갱신 되는것을 볼 수 있다.
?>
3. 파일첨부
--> upload 폴더 생성
c.php
<bash />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file1">
<input type="submit" value="파일 업로드">
</form>



upload.php
<bash />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
$upload_dir = "upload"; // 파일 저장 상대경로
$file1name = $_FILES['file1']['name'];
$tmp_file = $_FILES['file1']['tmp_name'];
move_uploaded_file($tmp_file, "$upload_dir/$file1name"); //저장 경로에 파일 업로드 실행 함수
?>
4. query
1) insert --> 작성후 query.php 페이지에서 새로고침 --> php db에서 확인
<bash />
<?
include("include/dbcon.php");
// 입력(초기화 및 선언) 이 값이 아래 쿼리문에 반영됨
$id = "1111";
$pass ="1111";
// 작성
$query="insert into test_member(id, pass) values('{$id}','{$pass}')";
mysql_query($query); // 위 sql 문을 실행시키는 함수임

2) 수정 --> 작성후 query.php 페이지에서 새로고침 --> php db에서 확인
<bash />
<?
include("include/dbcon.php");
// 입력(초기화 및 선언) 이 값이 아래 쿼리문에 반영됨
$id = "2222";
$pass ="3333";
//수정
$query="update test_member set pass='$pass' where id='$id'";
mysql_query($query); // 위 sql 문을 실행시키는 함수임
?>

3) 삭제 --> 작성후 query.php 페이지에서 새로고침 --> php db에서 확인
<bash />
<?
include("include/dbcon.php");
// 입력(초기화 및 선언) 이 값이 아래 쿼리문에 반영됨
$id = "2222";
$pass ="3333";
//삭제
$query="delete from test_member where id='$id'";
mysql_query($query); // 위 sql 문을 실행시키는 함수임
?>
4) 총게시물 수
<bash />
<?
include("include/dbcon.php");
// 입력(초기화 및 선언) 이 값이 아래 쿼리문에 반영됨
$id = "2222";
$pass ="3333";
//총게시물수
$query="select count(*) as cnt from test_member";
$result = mysql_query($query);
$rows = mysql_fetch_array($result);
?>
총게시물수 : <?=$rows[cnt]?>

5) 목록
<bash />
<?
//목록
$query="select * from test_member";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
echo $row[id]." || ";
echo $row['pass']." || ";
echo $row["regdate"]."<br>";
}
?>

6) view
아래 3개의 함수 : 여러 필드 중하나의 필드값만 반환
--> mysql_fetch_row() : 인덱스 배열로 반환, 숫자로 반환
--> mysql_fetch_array() : $result_type(숫자형, 문자형, 둘다 // 둘다가 기본값임)에 따라 반환되는 배열 형태가 달라짐, 매개변수로 column을 반환
--> mysql_fetch_object() : 한줄의 레코드를 객체형태로 반환
<bash />
<br>view1<br>
<?
// view --> mysql_fetch_row : index(0부터 시작) 처리
$query="select * from test_member where id='$id'";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
echo $row[0]." || ";
echo $row[1]." || ";
echo $row[2]."<br>";
?>
<br>view2<br>
<?
// view --> mysql_fetch_array
$query="select * from test_member where id='$id'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo $row[id]." || ";
echo $row['pass']." || ";
echo $row["regdate"]."<br>";
?>
<br>view3<br>
<?
// view --> mysql_fetch_object
$query="select * from test_member where id='$id'";
$result = mysql_query($query);
$row = mysql_fetch_object($result);
echo $db_id=$row->id." || ";
echo $db_pass=$row->pass." || ";
echo $db_regdate=$row->regdate."<br>";
?>
