웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
PHP+MSSQL?(수정판)
2003.05.10 19:38
PHP 의 DB? 를 하시면 거의다 MYSQL 로 대답을 하실겁니다..
벗.. 디비 이즈 여러가지..ㅋㄷ
말씀대로.. 디비는 여러가지의 종류가 있습니다.
SQL7.0 , MSSQL2000Ent..등...
여기서 제로보드또는 php 와 연동할때 MYSQL 대신 쓰는 디비라면.. MSSQL2000 이나 SQL7.0을 추천해주시고싶습니다. mSQL 등은 한번도 안써봣고.. 그런 소문도 없어서요...mSQL 개발사이트 지금쯤이면 망했겟죠?^^;;
MSSQL 이 없으시다면.. 그냥.. 와레즈에서.. 슬쩍..ㅋㄷ
그리고 .. PHP 에서.. 환경모듈파일이던가? 그쪽 경로를 재대로 해주시고 MSSQL 모듈읽는부분 주석을 풀어주세요..
자세한 방법은 PHPSCHOOL 에 있습니다.
MSSQL 은 MYSQL 에 비해 단어도? 틀리고.. 쿼리문을 할때 틀린점이 있습니다.
예를들어.. MYSQL 에서는 뽑아올떄 limit 로 뽑아오지만 MSSQL 에서는 Top 라는것을 이용해 뽑아옵니다.
그러나.. 제가 멍청이라그런지.. Order By 이쪽에서.. 많이 햇갈렷습니다..
Order By Desc 로 했는데.. 에러가 떳습니다..ㅡㅡ;; 그래서.. 2일동안 머리를 주어뜯으면서..ㅡㅡ;;;; 해결했습니다.
바로 조건문이 빠졋던것입니다.
Order By No Desc 로 하니깐.. 번호대로 나열되더라구요...^^
PHPSCHOOL 에 없는 내용을 보충해 봤습니다.
쏘쓰.. 요리 쏘쓰..ㅋㄷ
$result=mssql_query("select top 3000 * from Dataing order by no desc");// 3000개를 불러오고.. 최근것만 뽑아옵니다.
while($data=mssql_fetch_array($result)){
echo "$data[no]";<BR>";
}
이렇게하면.. 1234564 이라는 데이터가 있다면.. 3000개만 출력되겟죠.. 그러나.. 1부터 읽어들이려면.. desc 부분을 asc 로 바꿔주시면된답니다.
수정부분입니다...ㅡㅡ;;; 아래 행복님의.. 지적으로...
Conn 부분도 MYSQL 과 비슷합니다.. 단지.. 글자가 틀린다는것..
$hostname = "localhost";
$username = "sa";
$password = "*****";
$dbid = "df";//DB 테이블
$connection = mssql_connect($hostname,$username,$password) or die("데이타 베이스에 연결 할수 없습니다.");
mssql_select_db($dbid, $connection);
제가 Sa 계정으로 로그인을 했습니다. 왜 그럴까요? 제가 서버 관리자 이며.. 제가 관리하기 때문에..ㅋㄷ;;;;
그리고.. dbid 라는 변수명이 보일텐데 이것은 테이블 이름을 적어주시면 됩니다..^^;;
호스트는 대부분 localhost 이기떄문에.. 그냥 나두시면 됩니다.
아참 mssql_xxxx 할때.. 앞에 @를 붙이면 에러 메시지가 안나와서.. 깔끔하답니다.
그러나.. 접속이 실패해도.. 지정한 에러메시지는 나오겟죠.^^;
그리고 데이터의 총 갯수를 구하려면.. 다음과 같이 만들어 주시면됩니다.
$que ="select * from 테이블 이름.";
$res = MSSQL_QUERY($que, $connection);
$res_count = MSSQL_NUM_ROWS($res); // 데이터의 총 갯수
이떄 res 다음에 connection 은 데이터 베이스에 접속하는 변수인거 아시죠?? 위쪽을.. 보세요.^^
마지막으로.... 맨 하단에는
mssql_close($connection); //닫음
이것을 붙여주어야.. 쿼리가 끝납니다....
소문으로는 안붙여줘도.. 쿼리가 끝나면 자동으로 닫아준다는..;;;;
소문이니 ...
이렇게 하시면 됩니다..;;;;;;;;;;
보충할 내용있으면 말해주세요.
벗.. 디비 이즈 여러가지..ㅋㄷ
말씀대로.. 디비는 여러가지의 종류가 있습니다.
SQL7.0 , MSSQL2000Ent..등...
여기서 제로보드또는 php 와 연동할때 MYSQL 대신 쓰는 디비라면.. MSSQL2000 이나 SQL7.0을 추천해주시고싶습니다. mSQL 등은 한번도 안써봣고.. 그런 소문도 없어서요...mSQL 개발사이트 지금쯤이면 망했겟죠?^^;;
MSSQL 이 없으시다면.. 그냥.. 와레즈에서.. 슬쩍..ㅋㄷ
그리고 .. PHP 에서.. 환경모듈파일이던가? 그쪽 경로를 재대로 해주시고 MSSQL 모듈읽는부분 주석을 풀어주세요..
자세한 방법은 PHPSCHOOL 에 있습니다.
MSSQL 은 MYSQL 에 비해 단어도? 틀리고.. 쿼리문을 할때 틀린점이 있습니다.
예를들어.. MYSQL 에서는 뽑아올떄 limit 로 뽑아오지만 MSSQL 에서는 Top 라는것을 이용해 뽑아옵니다.
그러나.. 제가 멍청이라그런지.. Order By 이쪽에서.. 많이 햇갈렷습니다..
Order By Desc 로 했는데.. 에러가 떳습니다..ㅡㅡ;; 그래서.. 2일동안 머리를 주어뜯으면서..ㅡㅡ;;;; 해결했습니다.
바로 조건문이 빠졋던것입니다.
Order By No Desc 로 하니깐.. 번호대로 나열되더라구요...^^
PHPSCHOOL 에 없는 내용을 보충해 봤습니다.
쏘쓰.. 요리 쏘쓰..ㅋㄷ
$result=mssql_query("select top 3000 * from Dataing order by no desc");// 3000개를 불러오고.. 최근것만 뽑아옵니다.
while($data=mssql_fetch_array($result)){
echo "$data[no]";<BR>";
}
이렇게하면.. 1234564 이라는 데이터가 있다면.. 3000개만 출력되겟죠.. 그러나.. 1부터 읽어들이려면.. desc 부분을 asc 로 바꿔주시면된답니다.
수정부분입니다...ㅡㅡ;;; 아래 행복님의.. 지적으로...
Conn 부분도 MYSQL 과 비슷합니다.. 단지.. 글자가 틀린다는것..
$hostname = "localhost";
$username = "sa";
$password = "*****";
$dbid = "df";//DB 테이블
$connection = mssql_connect($hostname,$username,$password) or die("데이타 베이스에 연결 할수 없습니다.");
mssql_select_db($dbid, $connection);
제가 Sa 계정으로 로그인을 했습니다. 왜 그럴까요? 제가 서버 관리자 이며.. 제가 관리하기 때문에..ㅋㄷ;;;;
그리고.. dbid 라는 변수명이 보일텐데 이것은 테이블 이름을 적어주시면 됩니다..^^;;
호스트는 대부분 localhost 이기떄문에.. 그냥 나두시면 됩니다.
아참 mssql_xxxx 할때.. 앞에 @를 붙이면 에러 메시지가 안나와서.. 깔끔하답니다.
그러나.. 접속이 실패해도.. 지정한 에러메시지는 나오겟죠.^^;
그리고 데이터의 총 갯수를 구하려면.. 다음과 같이 만들어 주시면됩니다.
$que ="select * from 테이블 이름.";
$res = MSSQL_QUERY($que, $connection);
$res_count = MSSQL_NUM_ROWS($res); // 데이터의 총 갯수
이떄 res 다음에 connection 은 데이터 베이스에 접속하는 변수인거 아시죠?? 위쪽을.. 보세요.^^
마지막으로.... 맨 하단에는
mssql_close($connection); //닫음
이것을 붙여주어야.. 쿼리가 끝납니다....
소문으로는 안붙여줘도.. 쿼리가 끝나면 자동으로 닫아준다는..;;;;
소문이니 ...
이렇게 하시면 됩니다..;;;;;;;;;;
보충할 내용있으면 말해주세요.
댓글 11
-
TheMics
2003.05.10 19:52
SQL 7.0이 대체 뭐죠; -
세타
2003.05.10 20:24
MSSQL 7.0 인가보네요-_- -
TheMics
2003.05.10 21:07
그건 그렇고, 이 글 지워야 하나 말아야 하나 고민입니다;
스쿨처럼 경험담이나 노하우를 적어놓는데는 분명히 아니에요; -
행복한고니
2003.05.10 21:50
### 딴지걸기 ######
1. 정확하게는 DBMS 라고 합니다.
2. MSSQL은 Window 섭에서만 돌아가죠.
3. mSQL 제작사 잘 돌아가고 있습니다. 제가 처음 알았던 98년에 비해 홈페이지도 깔끔하게 새 단장을 했군요. http://www.hughes.com.au/
4. MSSQL의 top 개념과 MySQL의 limit 개념은 유사한면이 있지만 전혀 다릅니다. 만약 MSSQL에서 해당 쿼리문의 100번째부터 110번째까지 자료를 뽑아올때는 어떻게 하실 건가요? LIMIT는 그게 됩니다.
5. 이곳은 경험담 게시판이 아닙니다.
본문을 보면 Order By 사용법을 님이 익힌 것 이외엔 그 어떤 기술도 찾아볼 수 없군요. 초보분들을 위해서 쓰셨다고 할 것입니까? 그럼 connect 는 어떻게 하고, fetch_array 와 fetch_assoc 의 차이는 무엇이며, result 는 무엇인지, 그리고 pconnect 라는 것도 있던데 이것은 무엇인지 등등에 대한 총체적인 설명이 있어야 할 것입니다. 정말로 위의 글이 팁이 될 정도의 초보분들이라면 connect 역시 얘기해줘야 하는 것입니다. 정말로 위의 글이 팁이라고 생각하십니까? 님이라면 저 글만 보고도 무언가를 깨달을 수 있습니까?
위의 글을 다른 곳에서 봤다면 "기초가 부족한 사람이군" 이라고 생각을 했겠지만, 여기에서 보니까 좀 개념없어 보이는 면이 있네요. -
원일군^ㅡ^
2003.05.11 13:54
행복한고니님도 강좌좀 올려줘요~
요즘 뜸하니 심심해요
볼게 없다는 ;ㅁ;
엣플군님의 서명을 만드는 방법이라도 (퍽~퍼퍼퍽) -
소프트맨
2003.05.11 20:21
마지막으로.... 맨 하단에는
mssql_close($connection); //닫음
이것을 붙여주어야.. 쿼리가 끝납니다....
소문으로는 안붙여줘도.. 쿼리가 끝나면 자동으로 닫아준다는..;;;;
소문이니 ...
이렇게 하시면 됩니다..;;;;;;;;;;
한참동안 웃었습니다. 소문이라....
이것도 팁입니까? phpschool 에서도 쉬운 내용이 tip & tech 게시판에 올라오면 말이 많은데..
이건 그 쉬운 내용축에도 못 미친다고 생각합니다. -
행복한고니
2003.05.12 12:23
쿼리가 끝나면이 아니라 스크립트가 종료되면...일텐데요.
소문을 잘못들으셨네요. ㅡ_ㅡ;; -
행복한고니
2003.05.13 02:02
Rootin// PHP에서 MSSQL 지원합니다. PHP매뉴얼 제대로 읽어보셨습니까?
Chapter 47. Database issues 부분을 읽어보세요. 첫번째 질문이
1. I heard it's possible to access Microsoft SQL Server from PHP. How?
1. PHP로 Microsoft SQL Server(흔히 MSSQL)에 접근할 수 있다고 들었는데, 어떻게 하죠?
그 밑에 답이 달려있죠. 윈도우 섭이라면 ODBC를 이용하라고 나오고, 유닉스/리눅스 체제에서는 Sybase-CT 라이브러리를 사용해서 가능하다고 나와요. MSSQL을 지원하기 위해서는 외부 라이브러리인 ctlib 를 설치한 후에 옵션을 줘서 PHP를 컴파일해야 하죠. 거기다가 2번째 질문을 읽어보면 Access 까지도 가능하다고 나옵니다. 자세히 읽어보세요.
## 참고 : MSSQL 은 MS 사가 Sybase 소스를 사들여서 개량한 것입니다.
최소한 함수를 검색하는 노력이라도 했으면 그런 말 안 하셨겠군요. 엄연히 MSSQL 관련 함수가 존재하는데 MSSQL을 지원하지 않는다는 것은 이상하다고 생각하지 않나요? 매뉴얼을 읽어본다는 자세는 좋았지만 조금 더 자세히 보셨으면 하네요. -
√seharin
2003.05.13 16:10
만약, mssql server 를 쓴다면..
db서버와 웹서버를 분리하는것이 좋을것 같네요 ^^;;
궂이 mssql를 쓴다면 win32bit 환경에서 php를 돌려야 하기때문에..
원도우환경에서의 php에서는 퍼미션이라는 개념이 없어서 보안에 노출되어 있죠;;
궂이 mssql 보다는 오라클을 추천하고 싶은; -
Rootin
2003.05.18 09:50
행복한고니 // 쿨럭..;; 그렇군요 -_-;; (목록에 없어서 -_-;;) -
nreal
2003.05.25 09:35
"MSSQL2000 이나 SQL7.0을 추천해주시고싶습니다"
->잘 이해가 안가는데요-_-..확인버튼을 누르기전에 한번 글을 읽어보시는게-_-
제목 | 글쓴이 | 날짜 |
---|---|---|
htmlspecialchars 사용하시는 분들 [5] | holies | 2003.07.11 |
이미 인클루드된 파일은 다시 인클루드하지 않기 [14] | 김병희 | 2003.06.20 |
PHP 익히기 3 [11] | 구리구리 | 2003.06.17 |
PHP 익히기 2 [9] | 구리구리 | 2003.06.10 |
PHP 익히기 1 [24] | 구리구리 | 2003.06.09 |
php 로 기존 문서 포함시키기 [10] | 이성헌 | 2003.06.08 |
체크박스등으로 배열로 변수를 넘길때.. [1] | myself2 | 2003.06.06 |
홈페이지의 내용을 DB에 담기 [15] | 세죠위그이 | 2003.05.30 |
썸네일 자동생성하고 이미지 사이즈 자동 줄이기... [6] | sMokaHallo | 2003.05.21 |
Wake On Lan 기능 사용하기... [3] | sMokaHallo | 2003.05.17 |
스킨 시스템 구축.(1탄 읽어오기) [11] | 씨파개 | 2003.05.13 |
none 과 null 처리 문제 해결법 [5] | 허현승 | 2003.05.12 |
세션파일 크기/만들어진 시간체크해서 정해진 시간이후엔 파일 지우기?;; (라고 써야되낭? ;;) [6] | 다오케이 | 2003.05.12 |
PHP+MSSQL?(수정판) [11] | 씨파개 | 2003.05.10 |
이미지 전용 파일업로드시의 확장자 체크시.. [4] | 특급잠수부 | 2003.05.07 |
mysql_fetch_row n mysql_fetch_array n mysql_fetch_object [4] | sMokaHallo | 2003.05.06 |
if 시리즈 2탄.. ㅡㅡ;; [9] | 씨파개 | 2003.05.05 |
PHP 확장 함수를 이용한 exif 정보 출력 [1] | NoSoRi | 2003.04.30 |
if 시리즈 1탄! [15] | 씨파개 | 2003.04.28 |
ID3v1태그 읽는 함수입니다. [4] | 김승태 | 2003.04.27 |