본문 바로가기

웹/PHP

mysql 연동 - user table

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    
</head>
<body>
<!-- 테스트 방법 : localhost/ex31.php -->
    <form method="post" action="ex31.php">
        아이디 : <input type="text" name="user_id"> <br />
        비밀번호 : <input type="password" name="user_pw"> <br />
        <input type="submit">
    </form>
</body>
</html>

<?php

    //POST 방식으로 user_id, user_pw를 넘겨서 회원이 있는지 로그인 처리한다

    header('Content-Type: text/html; charset=utf8');

    $connect=mysqli_connect("localhost","root","111111","mydb");
                        // 서버 url 주소, 아이디, 암호 , db이름 
                        
    if(mysqli_connect_errno()){ // db 연결 실패시 
        echo"Failed to connect to MySQL: " .mysqli_connect_errno();
        exit;
    }

    //테스트 방법 :


    $user_id=$_POST["user_id"];
    $user_pw=$_POST["user_pw"];

    //SQL 문 작성 
    $sql ="SELECT * FROM users WHERE user_id='$user_id' AND user_pw='$user_pw' ";

    //SQL 쿼리 전송 (실행)
    $result=mysqli_query($connect,$sql);

    //검색 된 결과 가져오기 
    // MYSQLI_BOTH: 일반배열 + 연관배열 
    // MYSQLI_NUM: 일반배열
    // MYSQLI_ASSOC: 연관배열

    while( $row = mysqli_fetch_array($result,MYSQLI_BOTH)){
        echo $row["user_id"] ."," .$row["user_pw"];
    }

    //결과 값 메모리 해제
    mysqli_free_result($result);


    //db 연결 닫기 
    mysqli_close($connect);





?>
<?php

    // php 에서 db 에 접근하는 방법

    // 1. PDO 방식 : 여러 DBMS (오라클,mySQL,MongDB, MariaDB) 에 접근할 때 
    //              표준화된 방식으로 접근하도록 하는 함수들 
    //              두 개 이상 DBMS를 사용해야 할 때 사용한다 

    // 2. mySQLI 방식 : mySQLI로 시작하는 함수들. php에서 mysql 접근 함수들 
    //                  PHP5.4~5.7까지 지원. PHP 5.4 이전에서는 지원 안함 

    //3. mySQL 방식 : 옛날 방식 . mySQL로 시작하는 함수들
    //                 가급적 사용하지 말것. 호환성 문제 .php5.4까지 지원


    //mySQLI방식에서 두 가지 방식 
    //1 . bind방식 : 매개변수와 함수를 연결 (bind) 하는 방식 
    //2 . non-bind 방식 : bind 하지 않고 sql을 문자열로 제어 

    // non-bind 방식 
    //1. Object 방식 : new 를 사용해서 object ->함수()
    //2. Function 방식 (Seqence) : 일반 내장 함수를 사용함


    //mysqli_fetch() 함수의 종류: db 검색 결과를 가져오는 함수 
    //1. mysqli_fetch_rows(): [0] [1] [2] 일반 배열의 인덱스로 데이타를 읽어옴 
    //2. mysqli_fetch_assoc() : ["key1"]["key2"] 연관 배열, 키로 값을 가져옴 
    //3. mysqli_fetch_array() : 일반배열 + 연관배열 두가지 형식으로 다 읽어 올 수 있다 

    //DB에 테이블 만들기 
    //1. DB이름 :mydb
    //2. 테이블 만들기 : users
    // CREATE TABLE users (user_index integer PRIMARY KEY AUTO_INCREMENT, 
    // user_id varchar(30), user_pw integer ,phone varchar(200));

    // //3.데이타(레코드 ) 추가하기 
    // INSERT INTO users(user_index,user_id,user_pw,phone) 
    // VALUES (1, 'hong','1111','01011112222');

    // INSERT INTO users(user_index,user_id,user_pw,phone) 
    // VALUES (2, 'dong','2222','01033334444');

    // INSERT INTO users(user_index,user_id,user_pw,phone) 
    // VALUES (3, 'ironman','3333','01055556666');

    //대소문자, 공백 정확히 ! 

    header('Content-Type: text/html; charset=utf8');

    $connect=mysqli_connect("localhost","root","111111","mydb");
                        // 서버 url 주소, 아이디, 암호 , db이름 
                        
    if(mysqli_connect_errno()){ // db 연결 실패시 
        echo"Failed to connect to MySQL: " .mysqli_connect_errno();
        exit;
    }

    //SQL 문 작성 
    $sql ="SELECT * FROM users";

    //SQL 쿼리 전송 (실행)
    $result=mysqli_query($connect,$sql);

    //검색 된 결과 가져오기 
    // MYSQLI_BOTH: 일반배열 + 연관배열 
    // MYSQLI_NUM: 일반배열
    // MYSQLI_ASSOC: 연관배열

    while( $row = mysqli_fetch_array($result,MYSQLI_BOTH)){
        echo $row["user_id"] ."," .$row["user_pw"];
    }

    //결과 값 메모리 해제
    mysqli_free_result($result);


    //db 연결 닫기 
    mysqli_close($connect);



    //테스트
    //웹 브라우저에서 localhost/ex29_db.php

    //php 파일이 실행되지 않고 다운되는 현상 발생 
    // 비트나미 설치 폴더/ apache2/conf/http.conf 파일의 설정을 변경한다 
    // AddType 이라고 써진 부분뒤에 추가함 
    // AddType application/x-httpd-php. php. htm. html






?>
<?php

    //GET 방식으로 user_id, user_pw를 넘겨서 회원이 있는지 로그인 처리한다

    header('Content-Type: text/html; charset=utf8');

    $connect=mysqli_connect("localhost","root","111111","mydb");
                        // 서버 url 주소, 아이디, 암호 , db이름 
                        
    if(mysqli_connect_errno()){ // db 연결 실패시 
        echo"Failed to connect to MySQL: " .mysqli_connect_errno();
        exit;
    }

    //테스트 방법 : localhost/ex30.php?user_id=hong&user_pw=1111
     //테스트 방법 : localhost/ex30.php?user_id=hong&user_pw=2222


    $user_id=$_GET["user_id"];
    $user_pw=$_GET["user_pw"];

    //SQL 문 작성 
    $sql ="SELECT * FROM users WHERE user_id='$user_id' AND user_pw='$user_pw' ";

    //SQL 쿼리 전송 (실행)
    $result=mysqli_query($connect,$sql);

    //검색 된 결과 가져오기 
    // MYSQLI_BOTH: 일반배열 + 연관배열 
    // MYSQLI_NUM: 일반배열
    // MYSQLI_ASSOC: 연관배열

    while( $row = mysqli_fetch_array($result,MYSQLI_BOTH)){
        echo $row["user_id"] ."," .$row["user_pw"];
    }

    //결과 값 메모리 해제
    mysqli_free_result($result);


    //db 연결 닫기 
    mysqli_close($connect);





?>

' > PHP' 카테고리의 다른 글

JSON  (0) 2019.11.18
POST-OBCJECT  (0) 2019.11.18
이미지 올리기  (0) 2019.11.18
배열~함수  (0) 2019.11.15
변수~ 배열  (0) 2019.11.14