Spac 매뉴얼/MySQL Dao2009. 11. 26. 21:20

이전까지는 쿼리문이 단순해서 조건문이 없었습니다만, 조금 더 세밀한 결과를 얻기 위해선 조건문이 들어가고 해당 조건문에 변수를 이용해 쿼리문을 작성해야 할 경우가 있을것입니다.

쿼리문에 변수를 넣는 방법은 직접 변수를 대입하는 리터럴과 변수가 들어갈 부분에 "?" 나  :VAR 할당하여  쿼리를 만들고 변수 별도로 할당하여 실행하는 바인딩이 있습니다.

일반적으로 바인딩을 사용하는것이 쿼리캐시나 SQL 인젝션 공격 방어 등에 유리하다고 알려져 있습니다.

1. 리터럴

$user_id = 'bidam';
$query = " Select * From member Where user_id = 'bidam' And user_name = '비담' ";
$this->Dao->execute($query);


리터럴은 변수를 쿼리문에 직접 대입하여 작성합니다.


위 쿼리문을 바인딩으로 처리하는 방법은 아래와 같이 두가지 방법이 있습니다.

아래 두 가지 방법은 사용법만 다를 뿐 작동 원리는 같습니다.


2. 바인딩(1)

$query = " Select * From member Where user_id = ? And user_name = ?";

$param = array("bidam","비담");

$this->Dao->execute($query,$param);


3. 바인딩(2)

$query = " Select * From member Where user_id = :user_id And user_name = :user_name";

$param = array("user_id"=>"bidam","user_name"=>"비담");

$this->Dao->execute($query,$param);



위 바인딩 관련 메소드는 Mysql 4.1 이상 버전에서 지원됩니다.



Posted by webdata

윈도우에 Spac 개발환경을 구성하는 예제를 설명합니다.


1. 윈도우용 Apache + Php + Mysql 을 설치합니다.


윈도우용 APM 은 다양한 무료버전이 있습니다만, 여기서는 쉽고 간단한 Autoset 6 을 이용해 설치하는 과정을 설명드리겠습니다.
Autoset6 은 http://www.autoset.net/sites/front/pages.php/download/autoset_6_0_0 에서 "오토셋 6 Full Package" 를 다운로드 받아 설치합니다.

설치경로는 "C:\AutoSet6" 으로 하겠습니다.

설치가 완료되면 홈 디렉토리를 설정합니다.
홈디렉토리는 Autoset 의 기본 홈디렉토리를 그대로 쓰지 않고 "C:\AutoSet6" 에 "www" 폴더를 생성합니다.

그 후 "www" 안에 다시 "public_html" 폴더를 생성합니다.

이제 생성한 "C:\AutoSet6\www\public_html" 을 웹디렉토리로 설정합니다.
Autoset6 매니저를 실행한 후 아래와 같이 설정합니다.

   =>  



이제 Spac 패키지를 "C:\AutoSet6\www" 안에 복사하여 아래와 같이 구성합니다.






2. 이클립스 를 설치합니다.


이클립스설치 이전에 이클립스는 자바 환경에서 구동되므로 JRE 를 설치해야 합니다.
JRE는 이곳 에서 다운로드 받습니다.

위의 사이트에 방문하셔서 "Java SE Development Kit (JDK)" 혹은 "Java SE Runtime Environment (JRE)" 를 다운로드 받습니다. (윈도우7 64비트 인경우에 32비트버전을 설치해야 문제 없이 구동됨 - 현재 64비트는 오류가 생김)

다음으로 이곳 에 방문하셔서 이클립스 PHP 버전을 다운로드 받습니다.
이클립스 시작에 문제가 생기는 경우 이클립스 설치경로에 가셔서 "eclipse.ini" 파일을 열어 JRE 경로를 추가해줍니다.
아래 내용 중 파란색 부문이 추가해 준 부분입니다. 자신의 JRE 경로를 넣어주시기 바랍니다.
아래내용은 윈도우7 인경우 입니다.
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.php.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx256m
-vm
C:\Program Files (x86)\Java\jre6\bin



그리고 윈도우 환경설정 Path에도 JRE 경로를 설정해 줍니다.




이제 이클립스를 실행한 후 새 PHP 프로젝트를 생성합니다.



프로젝트 이름은 "MyProject" 로 하겠습니다.
아래 "Contents" 영역은 "Create project from existing source" 를 선택한 후 이전에 생성한 디렉토리인 "C:\AutoSet6\www" 를 지정해 줍니다.



자 이제 Spac 개발환경이 만들어졌습니다.


Posted by webdata
이 예제는 우분투리눅스 9.10 에서 작성되었으며, 윈도우에서는 구성이 다를 수 있습니다.

[준비]
1. 로컬영역에 Apache + Php + Mysql 개발 환경을 구축해 놓습니다.
   우분투리눅스에 APM을 구성하는 예제는 http://spac.tistory.com/28 을 참조하시기 바랍니다.
   예제에서 기본 아파치 웹서비스 디렉토리는 "/home/계정/www/public_html" 로 설정합니다.
 
2. 웹서비스 디렉토리는 아래와 같이 구성합니다.
    - 예제에서의 계정은 "sue" 이며, 계정안에 "www" 디렉토리를 만들고 그 안에 프로그램을 위치했습니다.
    - "Spac"  디렉토리는 Spac 프레임웍 영역이며, "public_html" 디렉토리는 웹에서 접근가능한 디렉토리입니다.






이클립스 최신 PHP 버전을 다운로드 받습니다.
이클립스 다운로드 받기 ☞ http://www.eclipse.org/downloads/

PHP이클립스를 실행시키면 아래와 같이 PHP 개발환경이 열립니다.


새 PHP 프로젝트를 생성합니다. 프로젝트 이름은 MyProject 로 하겠습니다.




Contents 항목은 이미 구성하신 로컬 계정 영역으로 합니다. (/home/sue/www)



프로젝트 구성을 마치면 아래와 같은 프로젝트 트리가 나타납니다.



코드자동완성 설정을 합니다. (Window - Preferences)




개발환경 구성이 완료되었습니다.
이제 클래스 작성시 코드 자동완성기능을 활용하실 수 있습니다.





이클립스 내에 PHP서버를 등록 해 놓으면 "Run As" 메뉴를 이용하여 쉽게 이클립스 내 브라우저로 결과를 확인할 수 있습니다.








Posted by webdata