[PHP] MySQL DB 연결방법
 


PHP 와 MySQL DB의 조합은 ...거의 바늘과 실의 조합 과같을정도로 자주사용되는 구조이다.

 

DB를 연결하려면 아래와 같다.

 

<?

 ////데이터베이스 연결 계정 정의

 

 $db_hostname="localhost";     //서버명
 $db_username="";          //계정아이디
 $db_password="";       //계정 암호
 $dbname="";                 // 데이터베이스 이름
 //// 데이터베이스 연결 ////
 $conn=mysql_connect($db_hostname, $db_username, $db_password);
 mysql_select_db($db_username, $conn);

 

?>

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

회원가입 페이지를 만들고 그 회원가입 폼에 기입한정보를  mysql db에 입력되게끔 만들어 봅시다.

 

그럼 우선 메인 화면을 만들게요.

아래와 같이 입력해주세요

htdocs에 join1.php 파일로 저장해주세요.

 

 

 

그럼 우선 정보가 저장될 테이블을 만들어 봅시다.

 

database 는 join_db 로 합시다. 만들어요

table명은 account_info 로 합니다.

필드는 아이디 비밀번호 이름 주소 성별 나이 이메일 직업으로 합니다.

 

그럼 이제 작업을 시작 합시다.

 

우선 메인 페이지 입니다.

 

join1.php 로 htdocs에 저장해주세요. 한/영 변환이 귀찮아서 영어로 작성했고요, 틀린 문법이 와장창 일것입니다. 그냥 넘겨주세요^^

 

이 페이지는 절차 및 필드를 어떠한것들을 쓸건지 명시되어있습니다.

 

 

<html>

<head>

<title>[project]Membership register page </title>

</head>

<body>

<center>

<form name=f1 method=post action="join2.php">

<table border=1>

<tr>

<td><h3><b>project to make table on membership register</b></h3></td>

</tr>

<tr>

<td>procudure</td>

</tr>

<tr>

<td>1.making table </br> the fields are id,password,confirm_password,name,address,sex,age,e-mail</td>

</tr>

<tr>

<td>2.input member's information</td>

</tr>

<tr>

<td>3.saving informaton into DB</td>

</tr>

<tr>

<td>4.see list</td>

</tr>

</table>

<input type="submit" value="make table" />

</form>

</center>

</body>

</html>

 


 

위 파일을 실행하면 아래의 화면이 뜨게 되고요 submit를 누르면 join2.php파일이 작성되지 않아서 없는 페이지가 표시 됩니다.

 


 

그럼 이번엔 join2.php파일을 작성합니다.

 

이 파일의 역할은 우리가 만들려고하는 테이블을 찾은뒤 없다면 만들어주는 기능을 합니다.

이 소스는 제가 완벽하게 이해를 하지 못했습니다.

추가로 알게 되면 개정을 하겠습니다.

 

 

<?

 $connect = mysql_connect('localhost','root','123456');

 mysql_select_db('join_db',$connect);

 if($result == 1){

 $tb_name = mysql_list_tables("join_db");

 $tb_count = mysql_num_rows($tb_name);

 for($a=0; $a<$tb_count;$a++)

 if(mysql_tablename($tb_name,$a) == "account_info"){

 $flag = "ok";

 break;

 }}

 

 if($flag != "ok"){

  $sql = "create table account_info(

    id varchar(30),

    pwd varchar(20),

    pwd2 varchar(20),

    name varchar(10),

    addr varchar(80),

    sex varchar(3),

    age int(2),

    email varchar(20),

    primary key(id))";

   

  $reslut = mysql_query($sql, $connect) or die("table exists");

  }

 

  echo " it is successful to make table <br />";

  echo " please go to ";

  echo " <a href='join3.php'> sign up page<a/>";

  mysql_close($connect);

?>

 

 

소스 설명을 위해서 이미지 파일로 다시 한번 위의 파일을 아래에 첨부하겠습니다. (라인때문에)

 

 

 

 

$connect 는 mysql_connect()함수를 이용해서 접속 정보를 변수값으로 갖고 있고요.

mysql_select_db()함수를 통해서 데이터베이스를 선택하고 접속 변수를 2번째 인자로 넣습니다.

if($result == 1) 이거 뭔지 모르겠네요,, 아시는분 답변좀..

 

5번째 줄의 $tb_name = mysql_list_tables("join_db"); 이것은 join_db안에 있는 모든 테이블들을 보여주는 함수입니다. 그 값은 $tb_name에 저장이 됩니다.

 

6번째 줄의 $tb_count=mysql_num_rows($tb_name)은 5행의 변수 $tb_name가 가지고 있는 테이블에서 레코드 개수를 산출하는 함수 입니다. 이것은 tb_count에 저장됩니다.

 

 

7행의for문은6행에서 산출된 레코드의 개수만큼 반복 수행한다. 반복 수행의 조건은 8행의 if(mysql_tablename($tb_name,$a)=='account_info")에서 account_for 테이블을 만들때까지 수행한다.

테이블을 찾으면 mysql쿼리에 대한 성공의 의미로 출력되는 ok를 $flag=ok변수에 저장한 다음 10행의 break명령을 통해 반복문을 빠져나간다.

 

account_info테이블이 발견되지 않았다면 14행의 create table기능을 수행하고 테이블및 필드를 생성후 $result=mysql_query($sql,$connect)로 질의문을 수행한다.

 

만약 질의문을 수행하지 못할 경우가 생기게 되면 or die의 () 문을 수행하게 된다.

 

 

위의 소스를 수행하면

 


 

테이블이 있는경우에는

table exists 가 출력된다.

 

 

그 다음은 회원가입 양식이다.

 

이 파일은 join3.php로 저장한다.

 

<html>

<head>

<title>sign up page</title>

<form name=f2 method=post action="join4.php">

<h1>input your information</h1>

<table border=1>

<tr>

<td>ID</td>

<td><input type="text" size=30 name='id'></td>

</tr>

<tr>

<td>Password</td>

<td><input type="password" size=30 name='pwd'></td>

</tr>

<tr>

<td>Confirm Password</td>

<td><input type="password" size=30 name='pwd2'></td>

</tr>

<tr>

<td>name</td>

<td><input type="text" size=12 maxlength=10 name='name'></td>

</tr>

<tr>

<td>address</td>

<td><input type="text" size=40 name='addr'></td>

</tr>

<tr>

<td>sex</td>

<td><input type="text" size=6 maxlength=2 name='sex'></td>

</tr>

<tr>

<td>age</td>

<td><input type="text" size=6 maxlength=2 name='age'></td>

</tr>

<tr>

<td>e-mail</td>

<td><input type="text" size=30 name='email'></td>

</tr>

</table>

<input type=submit value="submit"><input type=reset value="rewrite">

</form>

</body>

</html>

 


 

필자는 table을 좋아하지 않지만 회원가입 양식이나 달력등은 테이블로 아직까지 많이들 쓴다.

 

실행을 하게 되면 아래의 회원가입 양식이 출력된다. 입력된 값은 임의로 입력하면 된다.


 

그럼 위에 submit버튼을 아직 누르면 안된다. 당연히 그 다음 페이지가 작성되어있지 않기 때문이다.

그 다음 할 일은바로 저렇게 우리가 적어놓은 자료들이 데이터베이스에 저장되는 일이다. ^^

그럼 저장해보자 위의 소스에서 보이듯이 post방식을 사용한다.

 

그러므로 변수들도 포스트를 사용!

 

 

<?

 $id=$_POST['id'];

 $passwrd=$_POST['pwd'];

 $password2=$_POST['pwd2'];

 $name=$_POST['name'];

 $address=$_POST['addr'];

 $sex=$_POST['sex'];

 $age=$_POST['age'];

 $email=$_POST['email'];

 

 $connect = mysql_connect('localhost','root','123456');

 mysql_select_db('join_db',$connect);

 

 $sql = "insert into account_info (id, pwd, pwd2, name, addr, sex, age, email)";

 $sql = $sql. "values('$id','$password','$password2','$name','$address','$sex','$age','$email')";

 mysql_query($sql, $connect);

 mysql_close($connect);

 echo "register completed <br />";

 

 echo "<a href='join3.php'>rewrite</a>";

 echo "<a href='join5.php'>view result</a>";

?>

 

  

위의소스르 join4.php로 저장하고 join3.php가 뜬 웹브라우저 창에서 sumit버튼을 눌러주면 mysql 의 join_db 데이터베이스 안의 테이블 account_info에 저장되게 된다.

 

 

그럼join3으로 가서 또 한번 임의로 자료들을 적어서 보내보자

 

 

 

 

db는 

 

이제 게시판 프로그래밍 방법등을 익힌다면 회원제로 운영되는 사이트 완성이 가능할것이다.

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다) 

 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

오늘은 회원가입 폼을 만들어 보겠습니다.

 

위 그림처럼 한 번 만들어볼까요?

웹표준으로 제작된 것이 아니기에 테이블로 전부 구성하였습니다.

 

요즘은 폼도 테이블로 안해도 꾸밀 수 있죠. 그런데 php 공부가 주 목적이라 웹표준화를 배제했습니다.

 

위 폼에 대한 소스는 아래와 같습니다.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
<title>회원가입</title>

</head>
<body>
<p>회원가입</p>
<table width="600" border="1" cellspacing="0" cellpadding="0" bordercolordark="#CCCCCC" bordercolorlight="#FFFFFF">
  <form name="register" id="register" method="post" action="register_ok_old.php" onSubmit="return chkForm(this)">
  <input type="hidden" name="chkId" id="chkId" value="N" />
  <input type="hidden" name="chkRecommender" id="chkRecommender" value="N" />
  <tr>
    <td width="80" height="24" bgcolor="#EEEEEE">아이디</td>
    <td colspan="3"><label for="txtId"></label>
    <input name="txtId" type="text" id="txtId" tabindex="1" size="12" maxlength="12" /> <input type="button" name="btnChkId" id="btnChkId" value="ID중복확인" tabindex="2" onClick="searchId()" /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">암호</td>
    <td width="220"><label for="txtPasswd"></label>
    <input name="txtPasswd" type="password" id="txtPasswd" tabindex="3" size="12" maxlength="20" /></td>
    <td width="80" bgcolor="#EEEEEE">암호확인</td>
    <td width="220"><label for="txtPasswdConfirm"></label>
    <input name="txtPasswdConfirm" type="password" id="txtPasswdConfirm" tabindex="4" size="12" maxlength="20" /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">이름</td>
    <td colspan="3"><label for="txtName"></label>
    <input type="text" name="txtName" id="txtName" tabindex="5" /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">연락처</td>
    <td colspan="3"><label for="cboTel"></label><select name="cboTel" id="cboTel"  tabindex="6" >
      <option value="02" selected="selected">02</option>
      <option value="031">031</option>
      <option value="032">032</option>
      <option value="033">033</option>
      <option value="041">041</option>
      <option value="042">042</option>
      <option value="043">043</option>
      <option value="051">051</option>
      <option value="052">052</option>
      <option value="053">053</option>
      <option value="054">054</option>
      <option value="055">055</option>
      <option value="061">061</option>
      <option value="062">062</option>
      <option value="063">063</option>
      <option value="064">064</option>      
      <option value="010">010</option>

      <option value="011">011</option>
      <option value="016">016</option>
      <option value="017">017</option>
      <option value="018">018</option>
      <option value="019">019</option>
    </select>
      -
      <label for="txtTel2"></label><input name="txtTel2" type="text" id="txtTel2" size="4" maxlength="4" tabindex="7"  />
      -
      <label for="txtTel3"></label><input name="txtTel3" type="text" id="txtTel3" size="4" maxlength="4" tabindex="8"  /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">우편번호</td>
    <td colspan="3"><label for="txtZipcode1"></label><input name="txtZipcode1" type="text" id="txtZipcode1" tabindex="9" size="3" maxlength="3" readonly="readonly"  />
      -
      <label for="txtZipcode2"></label><input name="txtZipcode2" type="text" id="txtZipcode2" tabindex="10" size="3" maxlength="3" readonly="readonly"  />
      <input type="button" name="btnSearchZipcode" id="btnSearchZipcode" value="우편번호검색" onClick="searchZipcode()" /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">기본주소</td>
    <td colspan="3"><label for="txtAddr1"></label><input name="txtAddr1" type="text" id="txtAddr1" tabindex="11" size="50" maxlength="255" readonly="readonly"  /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">상세주소</td>
    <td colspan="3"><label for="txtAddr2"></label><input name="txtAddr2" type="text" id="txtAddr2" size="50" maxlength="255" tabindex="12"  /></td>
  </tr>
  <tr>
    <td height="24" bgcolor="#EEEEEE">추천인ID</td>
    <td colspan="3"><label for="txtRecommender"></label><input name="txtRecommender" type="text" id="txtRecommender" size="12" maxlength="255" tabindex="12"  />
    <input type="button" name="btnRecommender" id="btnRecommender" value="추천인조회" onClick="search_recommand()" /></td>
  </tr>
  <tr>
    <td height="30" colspan="4" style="text-align:center;"><input type="submit" name="btnSubmit" id="btnSubmit" value="회원가입" tabindex="13"  />&nbsp;&nbsp;
    <input type="button" name="btnCancel" id="btnCancel" value="가입취소" tabindex="14" onClick="history.back()"  /></td>
  </tr>
  </form>
</table>
<p>&nbsp;</p>
</body>
</html>

 

 

다음 시간에는 아이디 중복확인을 알아 보겠습니다.

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

PHP는 오래전부터 많이 사용해 왔는데 최근에 워드프레스가 PHP을 장착해서 출시되어

다시 한 번 각광을 받게 되었네요

열심히 배워두면 많은 도움이 될것 같습니다 오늘 부터는 PHP 설치부터

회원가입정도는 포스팅하고자 합니다.

우선 PHP를 설치하기 위해서는 아래와 같은 사향으로 준비하셔야 합니다.

 

1. 작업환경(하드웨어 제외)

 OS

Windows 7 

 APM_SETUP 

Ver 7.0 

 

2. 데이터베이스 생성

    정보를 저장하는 곳을 데이터베이스라고 합니다. 공부용으로 데이터베이스 하나를 생성해 볼까 합니다.

    전 pinkblue 라는 닉넴을 좋아해서 pinkblue 라는 DB를 생성하겠습니다.

 

   본 설명은 APM_Setup 7.0 이 설치되었다는 가정하에 설명하겠습니다.

      

 

   Step 1. 하단에 있는 작업표시줄에서 우측에 시계나오는 부분에 보시면 APM 이라는 아이콘이 있습니다.

            위 아이콘을 마우스 우클릭 합니다.


 

 

     Step2. 마우스로 우클릭하면 위 그림과 같이 팝업메뉴창이 열립니다. 팝업메뉴에서 MySQL관리 라는

             메뉴를 클릭합니다.

 

 

    Step3. 위 그림처럼 MySQL 서버러 접속할 수 있는 로그인 창이 보입니다. 사용자명은 root 이며 암호는 

            기본적으로 apmsetup 으로 apmsetup 을 설치 시, 설정됩니다.


 

     Step4. 위 그림처럼 새 데이터베이스 만들기에 pinkblue 라고 입력하고, 문자셋은 한글을 기본으로 셋팅

             하겠습니다. 우측 만들기 버튼을 클릭합니다.

 

      Step 5. Database 가 생성되었음을 확인할 수 있습니다.


 

 

     Step6. 데이터베이스에 새 사용자를 하나 추가 해 보겠습니다. 위 화면처럼 우측 탭에 사용권한을 

             클릭합니다. 

     Step7. 현재 생성되어있는 사용자명이 보입니다. 하단에 새 사용자 추가를 클릭합니다.


 

 

    Step8. 새 사용자를 추가할 수 있는 페이지가 보이면 

            사용자명 : pinkblue, 호스트 : localhost, 암호 : 비밀, 재입력 : 비밀 ㅋㅋ

            이렇게 입력하고 공부이니까 모두체크 클릭하시고, 사용자 생성 버튼을 클릭합니다.

    Step9. 축하드립니다. 데이터베이스 생성 및 DB 유저 추가가 완료되었습니다.

 

    물론, 호스팅업체(카페24, 미리내)이용할 경우엔 위와 같은 과정은 업체에서 다 해주니까 신경 안 쓰셔도

    됩니다.

    여기는 제 컴퓨터에 테스트 환경을 만들어 실제로 서버와 비슷한 환경을 구축한 후, 작성할 것이기에 

    위와 같은 작업을 하였습니다.

 

    다음 시간에는 회원가입을 실제로 만들어 보도록 하죠 !

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

(회원가입을 하시면 편리한 시간에 자세히 설명해드립니다)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,