More actions
imported>beonit No edit summary |
(Repair batch-0006 pages from live compare) |
||
| Line 6: | Line 6: | ||
== 주의 키워드 == | == 주의 키워드 == | ||
* 가변변수 | * 가변변수 | ||
* include | * 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( | $is_connect = mysql_select_db("<DB파일 이름>", <mysql_connect의 리턴형 즉, DB접속정보>); | ||
//접속 예외 처리 | //접속 예외 처리 | ||
if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){ | if(<mysql_select_db의 리턴형 접속 성공하였으면 true, 아니면 false>){ | ||
echo( | echo("MySql 서버 연결에 실패하였습니다."); | ||
} else{ | } else{ | ||
echo( | echo("connected<br>"); | ||
} | } | ||
=== query문과 그 처리 === | === query문과 그 처리 === | ||
$query = | $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( | 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( | echo("<tr><td>$no</td>"); | ||
echo( | echo("<td>$name</td>"); | ||
echo( | echo("<td>$eng</td>"); | ||
echo( | 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( | ** 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(); //& | ** htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->" | ||
** nl2br() // n을 | ** nl2br() // n을 <br>로 바꾸어 준다. | ||
** explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음. | ** explode() // 문자열을 특정한 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음. | ||
** implode() //explode와 반대 | ** implode() //explode와 반대 | ||
//explode | //explode | ||
$array_string = explode( | $array_string = explode(" ", $string); | ||
//implode | //implode | ||
$array_string = array( | $array_string = array("Apple", "Orange", "Banana", "Grape"); | ||
$string = implode( | $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( | ** str_replace("찾을문자열", "바꿀문자열", $변수) // replace | ||
** ord() // 주어진 문자의 ascii코드값 | ** ord() // 주어진 문자의 ascii코드값 | ||
** chr() // 주어진 ascii 값의 해당 문자 | ** chr() // 주어진 ascii 값의 해당 문자 | ||
| Line 83: | Line 83: | ||
* 각 명령 끝에는 세미콜론( ; )이 붙는다. | * 각 명령 끝에는 세미콜론( ; )이 붙는다. | ||
* 주석 스타일 : C와 비슷하다 | * 주석 스타일 : C와 비슷하다 | ||
* 화면에 문자 뿌리기 : echo( | * 화면에 문자 뿌리기 : echo(" 내용<br>"); | ||
=== 변수의 종류와 사용 === | === 변수의 종류와 사용 === | ||
* 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다. | * 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다. | ||
| Line 90: | Line 90: | ||
* 정적변수 : static $변수명; | * 정적변수 : static $변수명; | ||
* 가변변수 : 변수값으로 변수명을 지정할 수 있다. | * 가변변수 : 변수값으로 변수명을 지정할 수 있다. | ||
$first = | $first = "good"; | ||
$$first = | $$first = "morning"; | ||
echo( | echo("$good"); | ||
=== html / form === | === html / form === | ||
<form method= | <form method="post" action="process.php"> | ||
동물이름을 입력하세요<input type= | 동물이름을 입력하세요<input type="text" name="animal"> | ||
<input type= | <input type="submit" value="확인"> | ||
</form>. | </form>. | ||
| 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이 존재하지 않으므로 함수에 리턴타입은 존재하지 않는다.
아... 이거 5년전에 보던 php다 -_-;;; 하나도 기억 안나는데 php나 다시 공부해볼까? 그런데 위키에 글이 왜 안써진다냐? - 이영호