본문 바로가기

웹 개발

WAS - DB 연동하고 데이터 가져오기 (php, mysql)

WAS - DB 연동

<?php
    define('DB_SERVER', 'localhost');
    define('DB_USERNAME', '');
    define('DB_PASSWORD', '');
    define('DB_NAME', 'test');

    $db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

    if($db_conn){
        echo "DB Connect OK";
    }else{
        echo "DB Connect Fail";
    }

?>

 

DB의 주소, DB의 아이디, DB의 비밀번호, DB 이름을 define 함수를 통해 정의한다.

 

mysqli_connect()

mysqli_connect(host, username, password, databasename, port);

 

 

mysqli_connect 함수를 통해 php와 mysql를 연결한다. port는 default가 3306으로 별도의 포트를 사용하지 않는다면 생략해도 된다.

 

db와 연결을 성공했다면 db_conn 변수에 값이 존재할 것이고 연결을 실패했다면 null값이 될 것이다.

 

DB에서 데이터 가져오기

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    <form method="GET">
        <p>학생 이름을 입력해주세요.</p>
        <input type="text" name="name">
        <input type="submit" value="submit" name="submit">
    </form>
</body>
</html>

<?php
    define('DB_SERVER', 'localhost');
    define('DB_USERNAME', '');
    define('DB_PASSWORD', '');
    define('DB_NAME', 'test');

    $db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

    $student_name = $_GET['name'];    

    $sql = "select * from test_table where name='$student_name'";

    $result = mysqli_query($db_conn, $sql);

    $row = mysqli_fetch_array($result);

    $db_score = $row['score'];

    if(isset($_GET['submit'])){
        if(isset($db_score)){
            echo $student_name . "학생의 점수는 " . $db_score . "점 입니다.";
        } else {
            echo "일치하는 학생이 없습니다.";
        }
    }

?>

 

간단하게 사용자에게 학생의 이름을 입력받으면 점수를 알려주는 페이지를 구현했다.

mysqli_query로 sql문을 실행하여 입력받은 학생 이름을 검색한다. 그리고 그 결과에서 레코드를 한 개씩 받아 학생의 점수(socre)를 불러온다. 

 

결과