phpMyAdmin

phpMyAdmin은 mysql을 사용자 인터페이스로 좀 더 편리하게 관리 할 수 있는

소프트웨어 도구이다.

-xampp를 설치하면 자동 설치된다.

 

 

 

 

 

- korea db를 생성 후(utf8_general_ci),

 

 

 

 

-memo라는 테이블을 생성해줬다.

- sql구문을 query에 저장 후,

- mysqli_query에 서버명, db명, 비번을 입력 후

- 연결된  저장해둔다.

 

- die : 메시지 띄우고 종료

- exit : 그냥 종료

<?php

    $servername = "localhost";

    $user = "korea";

    $password = "5423";

 

①  $connect = mysqli_connect($servername, $user, $password); //  or die ("Can't access DB");

    if (!$connect) {

②      die("서버와의 연결 실패! : ".mysqli_connect_error());

    }

    echo "서버와의 연결 성공!";



$query = "select * from memo";

$result = mysqli_query($connect, $query);

// print_r($result);

// $a = mysqli_fetch_assoc($result);
// print_r($a);
// each $a[a]  // 작동 안됨.

//  $a 안에 값이 있으면 계속 출력
// mysqli_fetch_array ==
while ($a = mysqli_fetch_assoc($result)) {
    echo $a["a"];
    echo $a['b'];
    echo $a['c'];
    echo $a['d'];

    echo "<hr>";
}

?>

- mysqli_fetch_assoc($result)  // == mysqli_fetch_array

- 한 행씩 테이블에 있는 내용을 모두 불러온다.

 

 

 

 

 

 

결과

 

 

 

- Tip) $connect 부분은 sql호출 시 마다 사용되는 공통된 부분이므로

require이나 include로 따로 분리해서 재사용 해준다.

// sqlLib.php
<?

// 오류 방지 코드
//error_reporting(1);
//ini_set("display_errors", 1);

$connect = mysqli_connect("localhost", "korea", "5423", "korea");

if (mysqli_connect_error()) {
    echo ("mysql 접속 중 오류가 발생");
    echo mysqli_connect_error();
}

 

 

 

Tip) db 자동 인덱스 적용 :

 

구조 →  AI → auto increment

 

입력폼에 작성한 내용 db에 insert하기

입력부분)

<?
include 'sqlLib.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="11memoProc.php">
    이름: <input type="text" name="name" size=10 > <br>
    메모: <input type="text" name="memo" size=50 > <br>

    <input type="submit" value="저장">
    </form>

    
</body>
</html>

 

 

 

 

SQL쿼리 삽입 부분)

<?

include "11Lib.php";

$a = $_GET['name'];
$b = $_GET['memo'];

$c= date("Y-m-d H:i:s");


$query = "insert into memo(name,memo,regdate) 
         values('$a','$b','$c')";

echo $query;

mysqli_query($connect, $query);

 

- 보낼 때, form method 속성이 "Post" 이면 받을 때도, $_POST 로 받고,

- 아무것도 안 적혀 있으면 $_GET으로 받는다.

 

 

 

 

 

 

 

cmd로 mysql 실행법

 

user[db] / password

- korea DB를 사용 후 , Table을 보이라는 구문

 

 

 

 

 

mysql_real_escape_string

  • SQL Injection 공격 등을 방어하기 위하여 특수 문자열을 이스케이프 하기 위한 함수이다.
  • +mysql에 사용하기 전에 검열 해주는것임

 

 

memo) nl2br(” ”) : 여러 줄로 길게 돼있는걸 br태그로 띄어주는 것

+ Recent posts