Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

이승한/PHP: Difference between revisions

From ZeroWiki
imported>beonit
No edit summary
 
(Repair batch-0006 pages from live compare)
 
Line 6: Line 6:
== 주의 키워드 ==
== 주의 키워드 ==
* 가변변수
* 가변변수
* include \"./input.inc\";  // 헤더는 보통 inc의 확장자를 가진다. 기타 다른 확장자도 상관이 없다.
* include "./input.inc";  // 헤더는 보통 inc의 확장자를 가진다. 기타 다른 확장자도 상관이 없다.


== SQL API ==
== SQL API ==
Line 13: Line 13:
  === DB접속 ===
  === DB접속 ===
* 접속하기
* 접속하기
  $dbconn = mysql_connect(\"<주소>\", \"<접근이름>\", \"<암호>\");
  $dbconn = mysql_connect("<주소>", "<접근이름>", "<암호>");
  $is_connect = mysql_select_db(\"<DB파일 이름>\", <mysql_connect의 리턴형 즉, DB접속정보>);
  $is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>);
  //접속 예외 처리
  //접속 예외 처리
  if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){
  if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){
  echo(\"MySql 서버 연결에 실패하였습니다.\");
  echo("MySql 서버 연결에 실패하였습니다.");
  } else{
  } else{
  echo(\"connected<br>\");
  echo("connected<br>");
  }
  }
    
    
  === query문과 그 처리 ===
  === query문과 그 처리 ===
  $query = \"select name, eng, math from score\";//쿼리문을 스트링을 저장한다.
  $query = "select name, eng, math from score";//쿼리문을 스트링을 저장한다.
  $result = mysql_query($query, $dbconn); //<결과값저장변수> = mysql_query(<쿼리문저장된 스트링>, <DB접속정보>); //결과값은 2중배열의 형식으로 저장되는 듯.
  $result = mysql_query($query, $dbconn); //<결과값저장변수> = mysql_query(<쿼리문저장된 스트링>, <DB접속정보>); //결과값은 2중배열의 형식으로 저장되는 듯.
  $totalRecord = mysql_num_rows($result); //<변수> = mysql_num_rows(<결과값저장변수>); //되돌아온 리코드의 수를 변수에 저장
  $totalRecord = mysql_num_rows($result); //<변수> = mysql_num_rows(<결과값저장변수>); //되돌아온 리코드의 수를 변수에 저장
   
   
  if( $totalRecord == 0 ){
  if( $totalRecord == 0 ){
  echo( \"저장된 레코드가 없습니다.\");
  echo( "저장된 레코드가 없습니다.");
  }else{
  }else{
  echo(\"<tr><td>번호</td><td>이름</td><td>영어</td><td>수학</td>\");
  echo("<tr><td>번호</td><td>이름</td><td>영어</td><td>수학</td>");
  for($i =0; $i< $totalRecord; $i++){
  for($i =0; $i< $totalRecord; $i++){
  $name = mysql_result($result, $i, 0);
  $name = mysql_result($result, $i, 0);
Line 36: Line 36:
  $math = mysql_result($result, $i, 2);
  $math = mysql_result($result, $i, 2);
  $no = $i + 1;
  $no = $i + 1;
  echo(\"<tr><td>$no</td>\");
  echo("<tr><td>$no</td>");
  echo(\"<td>$name</td>\");
  echo("<td>$name</td>");
  echo(\"<td>$eng</td>\");
  echo("<td>$eng</td>");
  echo(\"<td>$math</td></tr>\");
  echo("<td>$math</td></tr>");
  }
  }
  }
  }
Line 56: Line 56:
  === 시간및 날짜 관련 함수 ===
  === 시간및 날짜 관련 함수 ===
** time() : 1970년 1월 1일 0시 0분 0초 이후 지난 시간을 초단위 누적 합.
** time() : 1970년 1월 1일 0시 0분 0초 이후 지난 시간을 초단위 누적 합.
** date() : date(\"y/m/d A h:i:s\", time()의 리턴값);
** date() : date("y/m/d A h:i:s", time()의 리턴값);


  === string 관련함수 ===
  === string 관련함수 ===
Line 62: Line 62:
** addslashes(); //문자열 변수를 리턴. 문자열에 특수문자가 들어있을때 /를 추가하여 준다.
** addslashes(); //문자열 변수를 리턴. 문자열에 특수문자가 들어있을때 /를 추가하여 준다.
** strcmp($val1, $val2); //같다면 1 다른다면 0
** strcmp($val1, $val2); //같다면 1 다른다면 0
** htmlspecilchars(); //& \" \' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & \" ->\"
** htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
** nl2br() // n을 &lt;br&gt;로 바꾸어 준다.
** nl2br() // n을 <br>로 바꾸어 준다.
** explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
** explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
** implode() //explode와 반대
** implode() //explode와 반대
  //explode
  //explode
  $array_string = explode(\" \", $string);
  $array_string = explode(" ", $string);
  //implode
  //implode
  $array_string = array(\"Apple\", \"Orange\", \"Banana\", \"Grape\");
  $array_string = array("Apple", "Orange", "Banana", "Grape");
  $string = implode(\" or \", $array_string);
  $string = implode(" or ", $array_string);
    
    
** substr($변수, 시작점, 끝점) //지정한 길이 만큼 문자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);  
** substr($변수, 시작점, 끝점) //지정한 길이 만큼 문자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);  
** strlen() //C와 같다.
** strlen() //C와 같다.
** str_replace(\"찾을문자열\", \"바꿀문자열\", $변수) // replace
** str_replace("찾을문자열", "바꿀문자열", $변수) // replace
** ord() // 주어진 문자의 ascii코드값
** ord() // 주어진 문자의 ascii코드값
** chr() // 주어진 ascii 값의 해당 문자
** chr() // 주어진 ascii 값의 해당 문자
Line 83: Line 83:
* 각 명령 끝에는 세미콜론( ; )이 붙는다.
* 각 명령 끝에는 세미콜론( ; )이 붙는다.
* 주석 스타일 : C와 비슷하다
* 주석 스타일 : C와 비슷하다
* 화면에 문자 뿌리기 : echo(\" 내용&lt;br&gt;\");
* 화면에 문자 뿌리기 : echo(" 내용<br>");
  === 변수의 종류와 사용 ===
  === 변수의 종류와 사용 ===
* 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
* 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
Line 90: Line 90:
* 정적변수 : static $변수명;
* 정적변수 : static $변수명;
* 가변변수 : 변수값으로 변수명을 지정할 수 있다.
* 가변변수 : 변수값으로 변수명을 지정할 수 있다.
   $first = \"good\";
   $first = "good";
   $$first = \"morning\";
   $$first = "morning";
   echo(\"$good\");
   echo("$good");
      
      
  === html / form ===
  === html / form ===
   &lt;form method=\"post\" action=\"process.php\"&gt;
   &lt;form method="post" action="process.php"&gt;
   동물이름을 입력하세요&lt;input type=\"text\" name=\"animal\"&gt;
   동물이름을 입력하세요&lt;input type="text" name="animal"&gt;
   &lt;input type=\"submit\" value=\"확인\"&gt;
   &lt;input type="submit" value="확인"&gt;
   &lt;/form&gt;.
   &lt;/form&gt;.
    
    
Line 115: Line 115:
하나도 기억 안나는데 php나 다시 공부해볼까?
하나도 기억 안나는데 php나 다시 공부해볼까?
그런데 위키에 글이 왜 안써진다냐? - 이영호
그런데 위키에 글이 왜 안써진다냐? - 이영호

Latest revision as of 01:08, 27 March 2026

이승한 /PHP

원문 : 초보PHP강좌

주의 키워드

  • 가변변수
  • include "./input.inc"; // 헤더는 보통 inc의 확장자를 가진다. 기타 다른 확장자도 상관이 없다.

SQL API

  • 다양한 SQL 함수가 지원된다.
  • asp.net에서 보았던 ODBC 를 이용한 DB와의 통신보다 간단하고 빠른듯.
=== DB접속 ===
  • 접속하기
$dbconn = mysql_connect("<주소>", "<접근이름>", "<암호>");
$is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>);
//접속 예외 처리
if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){
	echo("MySql 서버 연결에 실패하였습니다.");
} else{
	echo("connected<br>");
}
 
=== query문과 그 처리 ===
$query = "select name, eng, math from score";//쿼리문을 스트링을 저장한다.
$result = mysql_query($query, $dbconn); //<결과값저장변수> = mysql_query(<쿼리문저장된 스트링>, <DB접속정보>); //결과값은 2중배열의 형식으로 저장되는 듯.
$totalRecord = mysql_num_rows($result); //<변수> = mysql_num_rows(<결과값저장변수>); //되돌아온 리코드의 수를 변수에 저장

if( $totalRecord == 0 ){
	echo( "저장된 레코드가 없습니다.");
}else{
	echo("<tr><td>번호</td><td>이름</td><td>영어</td><td>수학</td>");
	for($i =0; $i< $totalRecord; $i++){
		$name = mysql_result($result, $i, 0);
		$eng  = mysql_result($result, $i, 1);
		$math = mysql_result($result, $i, 2);
		$no = $i + 1;
		echo("<tr><td>$no</td>");
		echo("<td>$name</td>");
		echo("<td>$eng</td>");
		echo("<td>$math</td></tr>");
	}
}

기초 기타사항

=== 정규 표현식 ===
??
=== 기타 함수 ===
    • getenv() //환경변수값.
    • REMOTE_ADDR: 접속한 컴의 IP주소
    • HTTP_USER_AGENT : 접속한 웹브라우저 정보
    • flush() //버퍼를 비우는 함수 // 뭔지 모르겠다.
    • sleep() //windows의 sleep과 같다.
    • exit() //말그대로 exit()
=== 시간및 날짜 관련 함수 ===
    • time() : 1970년 1월 1일 0시 0분 0초 이후 지난 시간을 초단위 누적 합.
    • date() : date("y/m/d A h:i:s", time()의 리턴값);
=== string 관련함수 ===
 PHP 변수타입으로 문자열을 지원한다. // 맞는지 모르겟네요. 대략 추정
    • addslashes(); //문자열 변수를 리턴. 문자열에 특수문자가 들어있을때 /를 추가하여 준다.
    • strcmp($val1, $val2); //같다면 1 다른다면 0
    • htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
    • nl2br() // n을
      로 바꾸어 준다.
    • explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
    • implode() //explode와 반대
//explode
$array_string = explode(" ", $string);
//implode
$array_string = array("Apple", "Orange", "Banana", "Grape");
$string = implode(" or ", $array_string);
  
    • substr($변수, 시작점, 끝점) //지정한 길이 만큼 문자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);
    • strlen() //C와 같다.
    • str_replace("찾을문자열", "바꿀문자열", $변수) // replace
    • ord() // 주어진 문자의 ascii코드값
    • chr() // 주어진 ascii 값의 해당 문자

기초문법

  • 문서의 시작과 끝
    • <? 와 ?>로 되어있다. (ASP는 <% %>를 사용하여 타이핑하기 불편하다.)
  • 각 명령 끝에는 세미콜론( ; )이 붙는다.
  • 주석 스타일 : C와 비슷하다
  • 화면에 문자 뿌리기 : echo(" 내용
    ");
=== 변수의 종류와 사용 ===
  • 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
  • 배열변수 : 변수명[0], 변수명[1], 변수명[2], 변수명[3]
  • 전역변수 : global $변수명;
  • 정적변수 : static $변수명;
  • 가변변수 : 변수값으로 변수명을 지정할 수 있다.
  $first = "good";
  $$first = "morning";
  echo("$good");
   
=== html / form ===
  <form method="post" action="process.php">
  동물이름을 입력하세요<input type="text" name="animal">
  <input type="submit" value="확인">
  </form>.
  
=== 연산자 ===
  • 산술 : + - * / % 사칙연산과 나머지 연산이 존재한다. ++의 전후위 연산자도 있다.
  • 비교논리 : === != < > <= >= and or xor ! && || 이 있으며 우선순위는 C와 비슷한듯 하다.
=== 조건 제어문 ===
  • if, while, switch, for 이 존재한다.
  • break, continue
=== 함수 ===
function 함수명(전달인자){ 함수내용; return 변수;} // Function 도 상관이 없었다. return은 없어도 돼며 type이 존재하지 않으므로 함수에 리턴타입은 존재하지 않는다.

이승한 이승한/mysql


아... 이거 5년전에 보던 php다 -_-;;; 하나도 기억 안나는데 php나 다시 공부해볼까? 그런데 위키에 글이 왜 안써진다냐? - 이영호