U E D R , A S I H C RSS

이승한/PHP

Difference between r1.1 and the current

@@ -5,7 +5,7 @@

== 주의 키워드 ==
* 가변변수
* include \"./input.inc\"; // 헤더는 보통 inc의 확장자를 가진다. 기타 다른 확장자도 상관이 없다.
* include "./input.inc"; // 헤더는 보통 inc의 확장자를 가진다. 기타 다른 확장자도 상관이 없다.

== SQL API ==
* 다양한 SQL 함수가 지원된다.
@@ -13,34 +13,34 @@
=== DB접속 ===
* 접속하기
{{{~cpp
$dbconn = mysql_connect(\"<주소>\", \"<접근이름>\", \"<암호>\");
$is_connect = mysql_select_db(\"<DB파일 이름>\", <mysql_connect의 리턴형 즉, DB접속정보>);
$dbconn = mysql_connect("<주소>", "<접근이름>", "<암호>");
$is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>);
//접속 예외 처리
if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){
echo(\"MySql 서버 연결에 실패하였습니다.\");
echo("MySql 서버 연결에 실패하였습니다.");
} else{
echo(\"connected<br>\");
echo("connected<br>");
}
}}}
=== query문과 그 처리 ===
{{{~cpp
$query = \"select name, eng, math from score\";//쿼리문을 스트링을 저장한다.
$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( \"저장된 레코드가 없습니다.\");
echo( "저장된 레코드가 없습니다.");
}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++){
$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>\");
echo("<tr><td>$no</td>");
echo("<td>$name</td>");
echo("<td>$eng</td>");
echo("<td>$math</td></tr>");
}
}
}}}
@@ -58,26 +58,26 @@

=== 시간및 날짜 관련 함수 ===
* 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 관련함수 ===
PHP 변수타입으로 문자열을 지원한다. // 맞는지 모르겟네요. 대략 추정
* addslashes(); //문자열 변수를 리턴. 문자열에 특수문자가 들어있을때 /를 추가하여 준다.
* strcmp($val1, $val2); //같다면 1 다른다면 0
* htmlspecilchars(); //& \" \' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & \" ->\"
* htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
* nl2br() // n을 <br>로 바꾸어 준다.
* explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
* implode() //explode와 반대
{{{~cpp
//explode
$array_string = explode(\" \", $string);
$array_string = explode(" ", $string);
//implode
$array_string = array(\"Apple\", \"Orange\", \"Banana\", \"Grape\");
$string = implode(\" or \", $array_string);
$array_string = array("Apple", "Orange", "Banana", "Grape");
$string = implode(" or ", $array_string);
}}}
* substr($변수, 시작점, 끝점) //지정한 길이 만큼 문자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);
* strlen() //C와 같다.
* str_replace(\"찾을문자열\", \"바꿀문자열\", $변수) // replace
* str_replace("찾을문자열", "바꿀문자열", $변수) // replace
* ord() // 주어진 문자의 ascii코드값
* chr() // 주어진 ascii 값의 해당 문자

@@ -86,7 +86,7 @@
* <? 와 ?>로 되어있다. (ASP는 <% %>를 사용하여 타이핑하기 불편하다.)
* 각 명령 끝에는 세미콜론( ; )이 붙는다.
* 주석 스타일 : C와 비슷하다
* 화면에 문자 뿌리기 : echo(\" 내용<br>\");
* 화면에 문자 뿌리기 : echo(" 내용<br>");
=== 변수의 종류와 사용 ===
* 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
* 배열변수 : 변수명[0], 변수명[1], 변수명[2], 변수명[3]
@@ -94,15 +94,15 @@
* 정적변수 : static $변수명;
* 가변변수 : 변수값으로 변수명을 지정할 수 있다.
{{{~cpp
$first = \"good\";
$$first = \"morning\";
echo(\"$good\");
$first = "good";
$$first = "morning";
echo("$good");
}}}
=== html / form ===
{{{~cpp
<form method=\"post\" action=\"process.php\">
동물이름을 입력하세요<input type=\"text\" name=\"animal\">
<input type=\"submit\" value=\"확인\">
<form method="post" action="process.php">
동물이름을 입력하세요<input type="text" name="animal">
<input type="submit" value="확인">
</form>.
}}}
=== 연산자 ===


1.1. 주의 키워드

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

1.2. SQL API

  • 다양한 SQL 함수가 지원된다.
  • asp.net에서 보았던 ODBC 를 이용한 DB와의 통신보다 간단하고 빠른듯.

1.2.1. DB접속

  • 접속하기
    ~cpp   
    $dbconn = mysql_connect("<주소>", "<접근이름>", "<암호>");
    $is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>);
    //접속 예외 처리
    if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){
    	echo("MySql 서버 연결에 실패하였습니다.");
    } else{
    	echo("connected<br>");
    }
     
  • 1.2.2. query문과 그 처리


    ~cpp 
    $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>");
    	}
    }
    

    1.3. 기초 기타사항

    1.3.1. 정규 표현식

    ??

    1.3.2. 기타 함수

    • getenv() //환경변수값.
      • REMOTE_ADDR: 접속한 컴의 IP주소
      • HTTP_USER_AGENT : 접속한 웹브라우저 정보
    • flush() //버퍼를 비우는 함수 // 뭔지 모르겠다.
    • sleep() //windows의 sleep과 같다.
    • exit() //말그대로 exit()

    1.3.3. 시간및 날짜 관련 함수

    • time() : 1970년 1월 1일 0시 0분 0초 이후 지난 시간을 초단위 누적 합.
    • date() : date("y/m/d A h:i:s", time()의 리턴값);

    1.3.4. string 관련함수

    PHP 변수타입으로 문자열을 지원한다. // 맞는지 모르겟네요. 대략 추정
    • addslashes(); //문자열 변수를 리턴. 문자열에 특수문자가 들어있을때 /를 추가하여 준다.
    • strcmp($val1, $val2); //같다면 1 다른다면 0
    • htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
    • nl2br() // n을 <br>로 바꾸어 준다.
    • explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
    • implode() //explode와 반대

      ~cpp 
      //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 값의 해당 문자

    1.4. 기초문법

    • 문서의 시작과 끝
      • <? 와 ?>로 되어있다. (ASP는 <% %>를 사용하여 타이핑하기 불편하다.)
    • 각 명령 끝에는 세미콜론( ; )이 붙는다.
    • 주석 스타일 : C와 비슷하다
    • 화면에 문자 뿌리기 : echo(" 내용<br>");

    1.4.1. 변수의 종류와 사용

  • 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
  • 배열변수 : 변수명0, 변수명1, 변수명2, 변수명3
  • 전역변수 : global $변수명;
  • 정적변수 : static $변수명;
  • 가변변수 : 변수값으로 변수명을 지정할 수 있다.
    ~cpp 
      $first = "good";
      $$first = "morning";
      echo("$good");
       
  • 1.4.2. html / form


    ~cpp 
      <form method="post" action="process.php">
      동물이름을 입력하세요<input type="text" name="animal">
      <input type="submit" value="확인">
      </form>.
      

    1.4.3. 연산자

  • 산술 : + - * / % 사칙연산과 나머지 연산이 존재한다. ++의 전후위 연산자도 있다.
  • 비교논리 : === != < > <= >= and or xor ! && || 이 있으며 우선순위는 C와 비슷한듯 하다.
  • 1.4.4. 조건 제어문

  • if, while, switch, for 이 존재한다.
  • break, continue
  • 1.4.5. 함수

    function 함수명(전달인자){ 함수내용; return 변수;} // Function 도 상관이 없었다. return은 없어도 돼며 type이 존재하지 않으므로 함수에 리턴타입은 존재하지 않는다.



    아... 이거 5년전에 보던 php다 -_-;;;
    하나도 기억 안나는데 php나 다시 공부해볼까?
    그런데 위키에 글이 왜 안써진다냐? - 이영호
    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2021-02-07 05:30:31
    Processing time 0.0894 sec