๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Web/PHP

โœ… Let's Leaning PHP! - MySql ์—ฐ๋™ํ•˜๊ธฐ (#6)

by Yubin Heo 2020. 4. 5.

๐Ÿ’– ๊ฐ•์ขŒ ์‹œ์ž‘ ์ „ ์ฐธ๊ณ ์‚ฌํ•ญ

์ด ๋‚ด์šฉ์„ ๊ตฌ์ง€ ์ดํ•ดํ•˜๋ ค ํ•˜์ง€ ์•Š์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

 

  • PHP7 ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๋” ์ด์ƒ MySQL_* ๊ด€๋ จ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ MySQLi ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • PHP5 ๋ฒ„์ „์—์„œ PHP7๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ์˜ˆ์ •์ด๋ผ๋ฉด MySQL_* ํ•จ์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”.
  • PHP Data Objects ๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• ๋˜ํ•œ ์ข‹์€ ๋Œ€์•ˆ์ฑ… ์ž…๋‹ˆ๋‹ค...

๐Ÿ’– ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ธํŒ…

mysql๊ณผ php๋ฅผ ์—ฐ๋™ํ•˜๋ ค๋ฉด mysql์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ…Œ์ด๋ธ”์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

create database php;

์œ„ ๋ช…๋ น์–ด๋Š” php ๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค๋ผ๋Š” ๋ช…๋ น ์ž…๋‹ˆ๋‹ค.

 

USE php;

 

 

php ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•˜๋ผ๋Š” ์˜๋ฏธ ์ž…๋‹ˆ๋‹ค.

 

CREATE TABLE `user` (
    `idx` int(11) NOT NULL auto_increment,
    `id` varchar(100) NOT NULL,
    `password` varchar(20) NOT NULL,
    `name` varchar(20) NOT NULL,
    `created` date DEFAULT NULL,
    PRIMARY KEY (`idx`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
๋”๋ณด๊ธฐ

user ๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ 

user ํ…Œ์ด๋ธ”์—

idx ํ•„๋“œ๋ฅผ int ํ˜•์‹์œผ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ  ์ž๋™์œผ๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง€๋Š” ํ•„๋“œ๋กœ ๋งŒ๋“ค๊ณ ,

id ํ•„๋“œ๋ฅผ varchar ํ˜•์‹์œผ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค๊ณ ,

password ํ•„๋“œ๋ฅผ varchar ํ˜•์‹์œผ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค๊ณ ,

name ํ•„๋“œ๋ฅผ varchar ํ˜•์‹์œผ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค๊ณ ,

created ํ•„๋“œ๋ฅผ date ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค๊ณ , ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ NULL์„ ๋„ฃ๋Š”๋‹ค.

user ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค๋Š” idx๋กœ ํ•˜๊ณ ,

InnoDB ์—”์ง„์„ ์‚ฌ์šฉํ•˜๊ณ , ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ์€ utf8 ํ˜•์‹์œผ๋กœ ํ•œ๋‹ค.

 

์ด๋Ÿฐ ๋œป์ž…๋‹ˆ๋‹ค (ํ‹€๋ฆฐ ๋ถ€๋ถ„ ์žˆ์œผ๋ฉด ์ง€์ ํ•ด์ฃผ์„ธ์š”)

 

์ž ์ด์ œ ์ฝ”๋“œ๋กœ ๊ฐ€์„œ....

db.php ๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

 

๐Ÿ’– ์ฝ”๋“œ ์ž‘์„ฑ

db.php

<?php 
session_start();
$conn = mysqli_connect("localhost", "root","your_db_password", "php");
$conn->set_charset("utf8");
?>

index.php

<form method="POST" action="method.php">
    <input type="text" name="id" placeholder="ID" />
    <input type="password" name="password" placeholder="Password" />
    <input type="text" name="name" placeholder="Your Name" /> &nbsp;
    <input type="submit" />
</form>

method.php

<?php
include "db.php";

$id = $_POST['id'];
$pw = $_POST['password'];
$name = $_POST['name'];
$date = date("Y-m-d", time());

$result = mysqli_query($conn, "INSERT INTO user(id, password, name, created)VALUES('".$id."','".$pw."','".$name."','".$date."')") or die ("์•Œ์ˆ˜์—†๋Š” ์˜ค๋ฅ˜");

?>

 

๊ธฐ๋Šฅ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊นŠ์€ ์„ค๋ช…์€ ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.

์ €๋ฒˆ ์‹œ๊ฐ„์— ๋ฐฐ์› ๋˜ post ๋ฐฉ์‹ ์ „์†ก์„ ์‚ฌ์šฉํ•ด์„œ,

id, password, name ์„ method.php๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

 

mysqli_connect ํ•จ์ˆ˜๋Š” MySql๊ณผ PHP๋ฅผ ์—ฐ๋™์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

mysqli_query ํ•จ์ˆ˜๋Š” SQL ์„ ์‹คํ–‰์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

$conn์€ db.php์—์„œ ์ •์˜ํ•ด๋‘” ๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค.

 

 

์ด์ œ insertํ•œ ๊ฐ’์„ select(์กฐํšŒ) ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

select.php ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ์ค๋‹ˆ๋‹ค.

 

์šฐ์„  db.php ๋ฅผ ์•„๋ž˜์ฒ˜๋Ÿผ ์ˆ˜์ •ํ•ด ์ค๋‹ˆ๋‹ค.

<?php 
session_start();
$conn = mysqli_connect("localhost", "root","root", "php");
$conn->set_charset("utf8");

function mq($sql) {
    global $conn;
    return $conn->query($sql);
}
?>

 

๊ทธ ๋‹ค์Œ, index.php๋ฅผ ์ˆ˜์ •ํ•ด ์ค๋‹ˆ๋‹ค.

<form method="POST" action="method.php">
    <input type="text" name="id" placeholder="ID" />
    <input type="password" name="password" placeholder="Password" />
    <input type="text" name="name" placeholder="Your Name" /> &nbsp;
    <button type="submit">์ œ์ถœ</button>
    <a href="select.php"><button type="button">ํ•„๋“œ ์กฐํšŒํ•˜๋Ÿฌ ๊ฐ€๊ธฐ</button></a> &nbsp;
</form>

 

๊ทธ ๋‹ค์Œ select.php๋ฅผ ์ž‘์„ฑ ํ•ด ์ค๋‹ˆ๋‹ค.

<?php
include "db.php";
?>

<table>
    <th>idx</th>
    <th>id</th>
    <th>password</th>
    <th>name</th>
    <th>created</th>
    <?php
    $sql = mq("select * from user");
    while($data = $sql->fetch_array()) {
    ?>
    <tr>
        <td><?php echo $data["idx"]; ?></th>
        <td><?php echo $data["id"]; ?></th>
        <td><?php echo $data["password"]; ?></th>
        <td><?php echo $data["name"]; ?></th>
        <td><?php echo $data["created"]; ?></th>
    </tr>

<?php
}
?>

 

๐Ÿ’– ์˜ค๋Š˜์˜ ๊ฒฐ๊ณผ

 

๋Œ“๊ธ€