PHP와 MySQL연동 (7주차)


MySQL을 지원하는 PHP API함수 


- 실습에 사용되는 데이터베이스 계정 접속 

cd/ mysql -kdhong -p12345 kdhong_db 


- 실습용 데이터베이스 테이블 구조 설계, 생성, PHP API함수를 이용한 레코드 삽입

C:\>cd \APM_Setup\htdocs 폴더열기

C:\APM_Setup\htdocs>mysql -ukdhong -p12345 kdhong_db < biz_card.sql SQL문실행하기

C:\APM_Setup\htdocs>mysql -ukdhong -p12345 kdhong_db 접속하여 확인하기 

show tables;


- mysql_connect() 함수

- mysql_select_db() 함수

- mysql_query() 함수

- mysql_colse()


 


<form>태그아 변수값 전달하기

똑같음


PHP로 데이터베이스 테이블 생성과 데이터 읽기


- mysql_fetch_array() 인덱스 아이디

 

- mysql_fetch_row() 인덱스 숫자

 

 

- mysql_sesult() 특정위치 가져옴
- mysql_num_rows()

- mysql_num_fields()

 

 

 


MySQL 데이터베이스 (5, 6주차)


데이터베이스 생성, 계정 생성, 권한 등록, 비밀번호 변경, 기타 확인 

데이터베이스 접속, 생성, 삭제, 목록 확인 명령


테이블 생성, 구조확인, 수정, 삭제 명령


- 테이블 생성

create table friend(

num int not null,

name char(10),

address char(80),

tel char(20),

email char(20),

primary key(num)

);

- 테이블 구조확인

desc friend;

- 테이블 필드 추가

alter table friend add age int;

alter table friend add hp char(20) after tel; (특정 위치에)

- 테이블 필드 삭제 

alter table friend drop email;

- 테이블 특정 필드 이름 변경

alter table friend change tel phone int;

- 테이블 특정 필드 타입 변경

alter table friend modify name int;

- 테이블 이름 변경

alter table friend rename student;

- 테이블 삭제

drop table friend;


SQL 명령어 일괄 실행 


- 텍스트 파일에 sql 저장, kdhog 폴더 이동

 

 


레코드 삽입, 검색, 정렬, 수정, 삭제


select id, name from mem where ((age>= 20 and age <30) or (age >=40 and age<=50)) and sex ='W'; 

select id, name from mem where name like '김%';

select id, name from mem where name like '__용%'; (가운대글자 용) 

where address like '서울%' order by age desc ; 

update mem set tel='123-1234' where id='yjhwang'; 

delete from mem where name='김이박';


데이터베이스 백업, 복원 


C:\dkhong > mysqldump -ukdhong -p12345 kdhong_db > kdhong_db.sql

C:\dkhong > mysql -ukim -p12345 kim_db > kdhong_db.sql (다른 디비에 백업파일 복원) 

조건문과 반복문(3주차) 


- if else, while, do~while, for  


배열과 함수(4주차) 


- 1차원배열


$배열이름[인덱스] $score[0]

반복문으로 빈 공간 없이 적재 

$eng_score = array(54, 58, 95, 67, 54, 48);

버블 정렬법을 이용하여 배열 원소값을 크기 순으로 정렬    


- 2차원배열 


$배열이름[행][열] $score[0][0]

$score = array(array(54, 58, 95), array(38, 20, 39), array(43, 60, 64)) 


- 함수 


내장함수(수학,문자열,파일,MySQL DB) 

http://php.net/manual/kr/index.php


외장함수(사용자 정의함수)





MySQL SERVER 접속 오류 




[에러메세지] 

Could not connect. server may not be running. Can't connect to MySQL sever on '127.0.0.1' (10061)


[해결책]

APMSETUP을 설치 하면서 사용하던 MySQL서버를 중단시켜서 workbench로 접속하니 에러 메세지가 뜬다.

다운받은 MySQL위치를 찾아가 mysqld.exe파일을 실행시켜 서버를 재구동 시켜준다.

비트나미로 받았다면 비트나미 폴더에 MySQL이 있다 ex )C:\Bitnami\wampstack-5.6.30-5\mysql\bin





[문제점]

그럼 APMSETUP사용할떄와 workbench사용할떄 한쪽을 껐다 켰다 해야하나 ?? ㅠㅠ

교수님께 질문해야 겠다. 답변이 오면 적을것 .



APMSETUP 설치 오류 





[에러메세지] 

80포트가 동작중입니다. 다른 웹 서버(IIS)가 동작 중인지 체크하여 주시기 바랍니다. 

또는 3306포트가 동작중입니다. 


[해결책]

작동중인 포트를 찾아 중지시켜 준다.



1. cmd 창을 열어 netstat -ano명령어를 실행후 80포트를 쓰는 프로토콜의 PID를 찾는다.




2. 작업관리자 창을 열어 세부정보 탭의 찾은 PID에 해당하는 프로그램 이름을 우클릭하고 

   작업끝내기를 누른다.






그 이후에는 또 3306 MySQL 포트가 사용 중이라는 메세지가 나와

다시 작업관리자 에서 실행중인 MySQL을 찾아 중단해 주었다.


APMSETUP에 Apache와 MySQL이 포함되어 있는데 

이전에 bitnami를 통해 Apache와 MySQL을 다운받았기 때문에 

포트가 충돌 한것 같다.  


이렇게 충돌한 포트를 멈추고 나니 설치가 잘 된다.


그치만 설치 전에 쓰던 workbench의 MySQL은 위에서 중단한 관계로 작동하지 않는다.

해당 내용은 다음 포스팅으로^^



+ Recent posts