0
 33   4   1
  View Articles

Name  
   손병목  (2002-10-18 00:01:18, Hit : 28599, Vote : 2154)
Homepage  
   http://www.itmembers.net
Subject  
   입력한 글을 DB에 저장하기(2)
정말 오랜만에 글을 쓰네요.
앞 강좌에서 소스를 설명한다고 하고서는 벌써 반년이 지났습니다.
변명할 여지가 없네요. 너무 오랫동안 신경을 못 썼으니...

insert.php 소스를 하나씩 살펴 보겠습니다.

  • 3행
    mysql_connect("localhost", "phpbbs", "phpbbs") or die (mysql_error());

    mysql_connect() 함수는 말 그대로 mysql 서버에 연결하는 기능을 합니다.
    괄호 안에 인자는 순서대로 호스트이름, ID, 패스워드입니다.
    (만약 연결되면 정수형 링크 구분자를 반환하고, 실패하면 false를 반환하는데... 여기서는 몰라도 됩니다.)

  • 4행
    mysql_select_db("itmembers");

    3행에서 DB 서버에 접속했으니, 이제 해당 DB에 접속할 차례입니다.
    mysql_slect_db() 함수는 괄호 안의 DB명에 해당되는 DB를 선택하는 기능을 합니다.
    (참고로 성공하면 true, 실패하면 false를 반환합니다.)

  • 25행

    중간에 일단 건너뛰고 25행부터 설명하겠습니다.
    위에서 DB 서버에 접속해서, 원하는 DB를 선택했습니다.
    이제 그 DB에 적절한 SQL 문을 사용해서 원하는 작업을 해야겠죠.... 이럴 때
    mysql_query() 함수를 사용합니다.
    쿼리를 실행할 때 쓰는 함수입니다. 괄호 안에는 쿼리 문장이 들어갑니다.
    (쿼리에 대한 자세한 내용은 오라클 기초 강좌를 참조하세요)
    24행에서 쿼리 문을 $sql이라는 문자열 변수에 저장했으므로, mysql_query($sql)라고 쓰면 됩니다.

  • 24행

    쿼리 문을 자세히 보면,
    bbs 테이블에 values 괄호 안의 값들을 insert하라는 문장입니다.
    (insert 문에 대한 자세한 설명은 오라클 강좌를 참조하세요. 관련 강좌 바로가기)

  • 7행
    $name = addslashes($name);

    글 입력 폼의 name 텍스트 박스의 내용을 $name 변수에 저장을 하는데,
    혹시 특수 기호가 있으면 역슬래시(\)를 붙이라는 뜻입니다.
    PHP에서는 작은 따옴표('), 큰 따옴표("), 역슬래시(\)와 같은 문자를 그대로 표현하려면 해당 기호 앞에 역슬래시를 표시해야 합니다.
    만약 화면에 "손병목"이라는 문자를 따옴표와 함께 표현하려면
    echo " "손병목" "; 이라고 하면 안된다는 것입니다.(오류가 발생합니다. 왜일까요.... 자세히 보세요.... ^^)
    echo " \"손병목\" "; 라고 해야 따옴표가 정확하게 표현됩니다.
    이럴 때 사용하는 함수가 바로 addslashes() 함수입니다.

  • 15행
    $writetime = time();

    $writetime 변수에 현재의 시간을 저장합니다.
    time() 함수는 현재의 시간을 돌려주는 함수입니다.

  • 16행
    $ip = getenv("REMOTE_ADDR");

    getenv() 함수는 서버의 환경 정보를 불러오는 역할을 합니다.
    위와 같이 인자를 "REMOTE_ADDR"이라고 쓰면, 원격지(클라이언트)의 주소를 돌려주는 역할을 합니다.
    게시판에 글 쓴 사람의 ip 주소를 기록하기 위해 사용했습니다.

  • 17행
    $count = 0;
    조회수를 저장하기 위해 $count 변수를 사용했습니다.

이해는 되셨는지요...
혹시 이해가 안되는 부분이 있다면 질문/답변 게시판을 이용해 주세요

이상, 정말 오랜만에, 동주아빠 손병목이었습니다.


손병목
위에서 설명을 빠뜨린 게 있네요.
"or die(mysql_error())"에서 die() 함수는 대부분의 함수 뒤에 사용할 수 있습니다. 앞의 함수가 거짓(false)값을 반환하면 die("메시지") 함수가 메시지를 출력하는 역할을 합니다.
위와 같은 경우는 mysql_error() 함수를 이용해서 에러 메시지를 보여주는 기능을 합니다.
 2002/10/21 23:04:56    
Prev
   입력한 글을 DB에 저장하기(3) 저장 후 페이지 이동

손병목
Next
   입력한 글을 DB에 저장하기(1) insert.php [1]

손병목


Copyright 1999-2024 Zeroboard / skin by Zetyx