본문 바로가기

스크립트/Php 코드 팁

mysql 에러때문에 고민 많이했내...멍청하긴.ㅜㅜ mysql_result 나 mysql_fetch_array 등의 문법은 레코드가 비어있을 경우 결과값이 없다는 에러를 발생한다. mysql_result(): supplied argument is not a valid MySQL result resource 와 같이... 난 왜 나오는지 짜증났다.. 하지만 간단히 해결할 수 있다. mysql_result(); 앞에 @ 만 입력하면 된다. @mysql_result(); 라고 하면 결과가없이 없을 경우 mysql erro 를 방생하지 않는다. 물론 php 상에서 mysql 오류 자체를 출력하지 않는 방법도 있긴하지만, 아무래도 테스트나 확인차원에서는 erro 도 좋은 방법이니,,, 이렇게 하는게 좋을것 같다.ㅋㅋ 더보기
UTF-8을 EUC-KR로 변경 , EUC-KR을 UTF-8로 변경 UTF-8을 EUC-KR로 변경 $str = iconv("UTF-8", "EUC-KR", $str); EUC-KR을 UTF-8로 변경 $str = iconv("EUC-KR", "UTF-8", $str); 다른 서버에서 글 내용을 가져와 파싱하는 경우에 특히 많이 사용하게 된다. 상식적으로 알아둘 점: EUC-KR에서 한글은 2byte, UTF-8에서 한글은 3byte이다. 글자수 기준으로 substr() 함수를 이용하여 자를 때 참고해두자. 더보기
접속경로에 맞춰서 맞질 않을 경우에는 자동 페이지 이동 접속경로를 확인하고 다른곳에서 접속했을 경우 강제로 페이지 이동을 시켜버린다. 이것도 응용가능 $url = $_SERVER['HTTP_REFERER']; $url2 = parse_url($url); // echo $url2[host]; 더보기
간단하게 랜덤 숫자 뽑아오기 mt_srand ((double)microtime ()*1000000); $result = mt_rand (0,2); // 0부터 2까지 echo [$result]; 더보기
이전 페이지 정보 관련 javascript, php Java Script -> PHP -> $_SERVER['HTTP_REFERER']; 더보기
mysql db 클래스 입니다. http://phpschool.com/gnuboard4/bbs/board.php?bo_table=download&wr_id=16263&page=1 더보기
php 날짜 구하기 어제, 오늘, 내일 // 어제 날짜 $ytime = mktime (0,0,0,date(\"m\") , date(\"d\")-1, date(\"Y\")); $YeDate = date(\"Y-m-d\",$ytime); // 현재 날짜 $ytime = mktime (0,0,0,date(\"m\") , date(\"d\")-1, date(\"Y\")); $CurDate = date(\"Y-m-d\",$ytime); // 내일 날짜 $ytime = mktime (0,0,0,date(\"m\") , date(\"d\")+1, date(\"Y\")); $toDate = date(\"Y-m-d\",$ytime); 더보기
PHP 유용한 함수 //페이지 이동 function go($move = "back",$time = "0") { if($move == "back") echo(""); else echo(""); } //메시지창+히스토리백 function alert($message,$move = "back") { $print = ""; echo("$print"); exit; } //디비접속 function db() { global $connect; if(!$connect) { $connect = mysql_connect("localhost","testid","1234") or die("MySQL 접속 실패"); mysql_select_db("testdb",$connect) or die("MySQL 접속 실패"); } } //단어 필터링 func.. 더보기
php 문자열 함수 1.addslashes(문자열) :문자열이 작은따옴표나 큰따옴표 또는 역슬래시 같은 문자를 담고 있을 경우 이 문자 앞에 역슬래시 문자를 추가하여 준다. 데이터베이스 질의어 사용시 따옴표 같은 문자의 중복으로 인한 오류를 피하기 위해 사용한다. 2.stripslashes(문자열) :역슬래시 처리가 된 문자에서 역슬래시를 제거하여 원상태로 되돌린다. 3.htmlspecialchars(문자열) 사용자가 HTML 코드를 포함하는 문자열을 입력 전송했을 때 이 HTML 코드를 HTML 형태가 아닌 문자열 그대로 출력해 준다. 텍스트 폼 안에 이승혁 를 입력한 후 전송했을 때 결과 echo $comment; // 이승혁 echo htmlspecialchars($comment); // 이승혁 php.ini 중 ma.. 더보기
파일이름으로 swf 파라미터 자동 입력하기 파일 이름을 $this_page 에 입력후 숫자 부분만 $main, $sub 로 뽑아와 더보기
문자 자르기 echo substr('abcdef', 1);    // bcdef echo substr('abcdef', 1, 3);  // bcd echo substr('abcdef', 0, 4);  // abcd echo substr('abcdef', 0, 8);  // abcdef echo substr('abcdef', -1, 1); // f ?> 더보기
php 로 현재 페이지 파일명 출력하기 php 로 현재 페이지 파일명 출력하기 더보기
미국 유명한 개발자가 만든 클래스 입니다. # Using the default constructor... $db = new MySQL('localhost', 'root', null, 'database'); # Or the connect method. $db = new MySQL(); $db->connect('localhost', 'root', null, 'database'); # If you want to select a different database, you can: $db->select_db('new_databaseName'); # Querying the database... Just a random SELECT. $result = $db->query('SELECT * FROM `the_table`'); # Or maybe one with.. 더보기
php 소수점 아래 버리기 php 소수점 아래 버리기 아주 쉽습니다. 더보기
mysql 999999만 빼고 숫자로 나열하기 select * from g4_member where mb_id not like '%999999%' order by mb_id asc 참고로 이렇게 쓸수있습니다. $gmember = "select * from g4_member where mb_id not like '%999999%' order by mb_id asc" ; $gmember2 = mysql_query($gmember, $connect); $gmemberm = mysql_fetch_array($gmember2); 더보기
보안상의 이유로 register_globals 를 OFF 한경우 간단한 해결법 호스팅 서버 같은 곳에서 보안상의 이유로 register_globals 를 OFF 로 변경 하거나 또는 보안상 register_globals 를 OFF 로 변경하고 싶은데 기존의 소 스들 때문에 망설이시는 분들께 유용한 함수가 될것 같네요. 테스트 환경은 다음과 같이 하시면 이해가 쉬울 것 같습니다. 일단 php.ini 에서 register_globals = Off 로 설정을 한뒤에 아파치를 재시작 합니다. 다 음 간단하게 웹루트에 test_query.php 라는 스크립트를 하나 만듭니다. --------- cut here test_query.php ----------- --------- cut here test_query.php ----------- 다음 http://domain.com/test_que.. 더보기
$REMOTE_ADDR 이 안먹히세요? $_SERVER['REMOTE_ADDR'] 를 사용하세요. PHP.ini 설정중에 register_globals 옵션이 on 일때에만 슈퍼 전역 변수들을 줄여서 사용할수 있습니다. 더보기
도메인 이름 뽑아내기 $url1 = $_SERVER['PHP_SELF']; $url2 = dirname($_SERVER['PHP_SELF']); $url3 = basename($_SERVER['PHP_SELF']); $url4 = $_SERVER[HTTP_HOST]; echo $url1;(현재 경로+파일) echo $url2; (경로) echo $url3; (파일) echo $url4; (도메인만 http 빼고) 응용 이전 url = 에서 도메인 부분만 뽑기 $url = $_SERVER['HTTP_REFERER']; $url2 = parse_url($url); // echo $url2[host]; 더보기
php 로 오늘 표현하기 결과 : "2005-02-01 17:10:34" 결과 : "2005년 02월 01일 17시10분" 귀찮으니, 첫번째것을 많이쓴다, mysql 의 date 때문에. 더보기