select-불러올때

insert-새로저장

update-수정

delete-삭제


mysql -u root -p > 


show databases;

create database test_db;

drop database test_db;

use test_db;


show tables; <empty>

create table member(

idx int auto_increment primary key,

id varchar(8) unique not null,

ps varchar(8) not null,

name varchar(8) not null

);

drop table member;

show tables; > member


select * from member; <empty>

insert into member values ("r3d", "1234", "asdf");

select * from member; > 위항목 추가 돼 있음

insert into member values ("blue", "1234", "power");

select * from member where id="blue";

> 위항목만 찾아

> empty 뜸 왜냐면 and는 교집합의 의미로써 둘중에 하나라도 만족하지 않으면 찾지 않음

> 만약 중간에 or연산이 들어가 있다면 둘중에 하나라도 만족하는 값을 찾음

update member set ps="1234", id='kkk' where id="blue";

> ps 1234로 바꿀꺼다 누구를 id가 blue인 애를 .. ㅇㅇ

delete from member where id="blue";

delete from board where length(writer))>10;

> 삭제시킴 아이디가 블루인 ㅇㅇ

> board라는 테이블의 writer컬럼길이를 10으로 짜른다;


alter table login add column phone varchar(20);


- login


<?php

mysql_connect("localhost", "root", "apmsetup");

mysql_select_db("test_db");

//mysql_query("insert into lol values ('$a','$date1')");

$result = mysql_query("select * from login where id='$j_id' and ps='$j_ps'");

$row = mysql_fetch_array($result);

>db자체가 2차원 배열로 저장돼어 있기때문에 1줄을 불러서 row라는 변수에다 저장한다


echo $row[0]; > 0번째 인덱스 즉 db의 젤 첫줄에 있는 게 됌 (여기선 아이디)

echo $row[1]; > 1번째 인덱스 2줄째 (여기선 비번)

?>


<script language="javascript">

alert(<?=$_SESSION['id']?>+"님 어서오세요");

alert("<?=$j_id?>);


session_start(); 세션 쓸때 항상 쓰고 시작.

session_destroy(); 세션 값 삭제


3초후에 야후로 이동됩니다.

<meta http-equiv="refresh" content="3;url=http://www.yahoo.com" />

location.href=""; 랑 같지만 html 코드라 외우기만 하면 유용함.


<구문 중 젤 중요> ㅇㅇ sense TIP

<?php include("./function.php"); ?>

<?php

if($_GET['cmd']=="logout" && !empty($_SESSION['j_id'])){

  unset($_SESSION['j_id']);

  session_destroy();

  js_alert("logout success");

}

if(!empty($_SESSION['j_id'])){

  echo $_SESSION['j_id']."님 안녕하세요 <br />";

?>


- board


create table board(

idx int auto_increment primary key,

title varchar(64) not null,

contents text not null,

writer varchar(24) not null

);  


include("./mysql_intro.php");

include("./alert.php");

$result=mysql_query("select * from board");

while($row=mysql_fetch_array($result)){

  echo "<a href='./view.php?idx=".$row['idx']."'>".$row['title']."</a> - ".$row['writer'];

  echo "<br />";

}


a {text-decoration:none;} 

$idx = $_GET['idx'];

$result = mysql_query("select * from board where idx='$idx'");


$limit_page = 10*($page-1); //sql쿼리문 limit함수 쓰기 위한 수식.

$result = mysql_query("select * from board order by idx desc limit ".$limit_page.", 10"); < 이수식

$select = mysql_query("select count(*) from board");

$row2 = mysql_fetch_array($select);

$aa = $row2[0]; << 위에 $select 변수 쿼리문이 들어가있는데 거기서 fetch array해서 row2에 값을

넣는데, 그 넣은 값을 다시 $aa 다 넣는다 즉, $aa는 count(갯수)가 들어가져 있다.==게시글의총 갯수

$bb = (int)($aa/10)+($aa%10>0); 

// $bb는 게시글 1 ~ 10 까지 출력하고자하는 즉, 게시글이 100개라면 10page까지, 101개라면 11page가 뜨게 하기위한 변수로 쓰여진다.

$start = (int)(($page-1)/10)*10+1;

// $start는 게시글을 1page를 누르면 1~10까지만 출력되게 하고 11을 누르면 11~20page까지 출력되게 하는 즉 11이 $start여야 한다.

$limit = $bb;

// $limit는 게시글의 마지막 page를 뜻한다 즉 게시글이 101개로써 11page가 마지막이면 그 11page임


<?php

if($start!=1){//만약에 1~11에선 1, 11~20에선 11 이 시작되는 지점의 page가 1이 아닐때

  echo "<a href='./list.php?page=".($start-10)."'>"."<<"."</a> ";

}// 하이퍼링크가 걸린 << 을 출력하고 그 주소는 11-10 >> 1page 즉 밑포문과 함께 본다면

// 1~10을 출력하게 됨

  for($i=$start;$i<$start+10 && $i<=$limit;$i++){// $i=$start 첫페이지 1부터 +10까지 그리고만약

// $i<=$limit $i는 첫페이지 $start를 뜻하는거고 $limit는 마지막페이지를 뜻하는 거니까

// 여기서 이 and연산의 뜻은 첫페이지부터 만약 마지막페이지가 껴잇는($start=11~$limit=12를 뜻함)

// 두 조건이 만족 되어야만 안에 있는 구문이 출력되게 하는 구문이다.

    echo "<a href='./list.php?page=".$i."'>".$i."</a> ";

}if($start+10<$limit){//만약 첫페이지+10 (즉 1이라면 10page까지) 즉, 20page가 12page보다 크면

// 참이 되어서 밑 문장을 실행 즉, 마지막 페이지가 12page라면 12까지 출력하고 >>는 안출력한단말임

echo "<a href='./list.php?page=".($start+10)."'>".">>"."</a> ";

}

?>


<div></div>

float:left;

clear:both;

'Server Enterprise > PHP' 카테고리의 다른 글

업로드 및 다운로드 페이지  (0) 2012.07.20
UTF8 및 한글 블록 현상 해결 방안  (0) 2012.07.20
Server DB 연결  (0) 2012.07.20

<?php

include("./mysql_intro.php");

include("./script_alert.php");

$j_wr = $_POST['j_wr'];

$j_tt = $_POST['j_tt'];

$j_cn = $_POST['j_cn'];

$path = "c:\\uploads\\";

$j_ps = "";

$file_name = "";

if(!empty($_POST['j_ps'])){

 $j_ps = $_POST['j_ps'];

 }if(!empty($_FILES['j_fl']['name']){

  $file_name = $_FILES['j_fl']['name'];

  $file_name = preg_replace("/\.(php|exe|inc|jsp|asp|htaccess)/i","",$file_name);

  if($_FILES['j_fl']['error'] > 0){

  echo "file transmission fales";

  }else{

  if(is_uploaded_file($_FILES['j_fl']['tmp_name'])){

  echo "file transmission success";

  move_uploaded_file($_FILES['j_fl']['tmp_name'], $path.$filename);

  echo "uploaded file : ".$path.$_FILES['j_fl']['name'];

  }

 }

}

?>




<?php

$filename = $row['uploads'];

$path = "C:\uploads\".$filename;

if(!eregi($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'])) Error("외부에선 다운로드 하실수 없습니다.");

if(is_file($path)){

if(eregi("(MSIE 5.5|MSIE 6.0)", $HTTP_USER_AGENT)){

Header("Content-Type:application/octet-stream");

Header("Content-Length:".filesize($path));

Header("Content-Disposition:attachment; filename=".$filename);

Header("Content-Transfer-Encoding:binary");

Header("Pragma:no-cache");

Header("Expires:0");

}else{

Header("Content-Type:file/unknown");

Header("Content-Length:".filesize($path));

Header("Content-Disposition:attachment; filename=".$filename);

Header("Content-Description:PHP3 Generated Data");

Header("Pragma:no-cache");

Header("Expires:0");

}$fp = fopen($path, "rb");

if(!fpassthru($fp)) fclose($fp);

clearstatcache();

}else{

echo "해당 파일이나 경로가 존재하지 않습니다";

}

'Server Enterprise > PHP' 카테고리의 다른 글

간단한 mysql 쿼리와 php와의 상관관계  (0) 2012.07.20
UTF8 및 한글 블록 현상 해결 방안  (0) 2012.07.20
Server DB 연결  (0) 2012.07.20

php,html ansi <> utf-8 변환, 인코딩 한글깨짐 해결방법


서버 <> php,html문서 한글깨짐 때문

이유: utf-8의 경우 상단에 BOM 이라는 태그가 붙어버려 (자신이 UTF-8이라고 알리는 문자열)

이런 에러가 발생하게 된다.

 

mysql_connect("localhost", "root", "apmsetup");

mysql_select_db("test_db3");

mysql_query("set names utf8");

 

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

</head>


.php 파일들(ex, view.php etc) 다른이름저장으로 utf8로 인코딩 새로해야됌

(.text 파일로 임시 변환하여 다른이름으로 저장하여 utf8로 인코딩 방식 새로저장)



**정리


- session_start(); 전에 출력문이 있으면 안된다.

- 그래도 안된다면 세션 변수가 저장되는 폴더 권한을 777(root권한) 주었는지 확인해 봐야한다.

- 그래도 안된다면 UTF-8(BOM없음) 형식으로 저장해보자

- 그래도 안된다면 모든 파일을 이 형식으로 저장하자.

- 그래도 안된다면 php.ini에서 default-charset utf-8로 설정해보라.

- 설정은 모두 통일하자.


'Server Enterprise > PHP' 카테고리의 다른 글

간단한 mysql 쿼리와 php와의 상관관계  (0) 2012.07.20
업로드 및 다운로드 페이지  (0) 2012.07.20
Server DB 연결  (0) 2012.07.20

if($query == "insert"){

/* 데이타베이스 연결 시작 */

$MYSQL_HOST = "localhost";

$MYSQL_DB = "데이타베이스명";

$MYSQL_ID = "데이타베이스 계정";

$MYSQL_PASSWORD = "데이타베이스 계정 패스워드";

 

$DB_CONNECT = mysql_connect($MYSQL_HOST, $MYSQL_ID, $MYSQL_PASSWORD);

mysql_select_db($MYSQL_DB, $DB_CONNECT);

if ( !$DB_CONNECT ) {echo "mysql 데이터 베이스에 연결할 수 없습니다."; exit;}

+ Recent posts