์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- database
- https://m.blog.naver.com/tt2t2am1118/221010125300
- Import
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- await
- sql
- promise
- addEventListener
- execCommand
- slow and steady
- json
- prj
- db
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- setTimeout()
- webpack
- js
- ํผํ
- ๋๊ธฐ
- ajax
- callback
- JS #ํ๋ก์ ํธ
- ๊ฒ์
- object
- Project
- mysql
- eport
- Porject
- async
- ๋น๋๊ธฐ
- Today
- Total
C-log
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์๋ก์ด ๊ตฌ์ฑ๊ณผ ์์ฑ ๋ณธ๋ฌธ
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์๋ก์ด ๊ตฌ์ฑ๊ณผ ์์ฑ
4:Bee 2023. 10. 14. 00:16์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด ๋์ topic TABLE๊ณผ author TABLE์ ์๋ก ์ฐ๊ฒฐํด ์ค ๊ฒ์ด๋ค. ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์๋์ ๊ฐ๋ค.
author TABLE์ ์์ฑํ ๊ฒ์ด๋ค. ํด๋น MySQL ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
MariaDB [phpmysql]> CREATE TABLE author(
-> id INT(11) NOT NULL AUTO_INCREMENT,
-> name VARCHAR(30) NOT NUL,
-> profile VARCHAR(200) NULL,
-> PRIMARY KEY(id)
-> );
์ด์ topic TABLE์์ ํด๋น author_id๊ฐ์ด ๋ค์ด๊ฐ ์ ์๋ COLUM๋ฅผ ์ถ๊ฐ ํด์ค์ผํ๋ค.
MariaDB [phpmysql]> ALTER TABLE topic ADD COLUMN author_id INT(11);
MariaDB [phpmysql]> SELECT * FROM author;
+----+------------+-------------------+
| id | name | profile |
+----+------------+-------------------+
| 1 | egoing | developer |
| 2 | duru | DBA |
| 3 | taeho | Data scientist |
| 4 | leezche | leezche is ... |
| 5 | graphittie | graphittie is ... |
+----+------------+-------------------+
5 rows in set (0.001 sec)
์ด๋ ๊ฒ author TABLE ์ค๋น๊ฐ ์๋ฃ๋์๋ค. ์ด์ ์ด ๋์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฃจ๊ธฐ ์ํด ํน์ sql๋ช ๋ น์ด๋ฅผ ๋ง๋ค์ด์ผํ๋ค. index.phpํ์ผ์ ์ดํด๋ณด๋ฉด $sql ๋ณ์๋ฅผ ๋ฐ๊ฟ์ค์ผํ๋ค. ์๋ ๋ณ๋๋ ์ฝ๋๋ฅผ ์ดํด๋ณด์.
<?php
...
$update_link = '';
$delete_link = '';
$author = '';
if (isset($_GET['id'])) {
$filtered_id = mysqli_real_escape_string($conn, $_GET['id']);
$sql = "SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id WHERE topic.id={$filtered_id}";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
$article['title'] = htmlspecialchars($row['title']);
$article['description'] = htmlspecialchars($row['description']);
$article['name'] = htmlspecialchars($row['name']);
$update_link = '<a href="update.php?id=' . $_GET['id'] . '">update</a>';
$delete_link = '
<form action = "process_delete.php" method="post">
<input type="hidden" name="id" value="' . $_GET['id'] . '">
<input type="submit" value ="delete">
</form>
';
$author = "<p>by" . $article['name'] . "</p>";
}
?>
$sql ๋ณ์๋ฅผ ์ดํด๋ณด๋ฉด LEFT JOIN์ด๋ผ๋ sql๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ topic๊ณผ author TABLE์ ํฉ์ณค๋ค. ์ด๋ ๊ฒ ์ฐ๋ํ์ผ๋ ์ฐ๋ฆฌ๊ฐ ๋ณด๊ณ ์๋ ์น๋ธ๋ผ์ฐ์ ์ ํํ์ ๊ตฌ์๋ ๋ฐ๊ปด์ผํ๋ค. ์๋ ์ฝ๋๋ ๋๋จธ์ง HTML์ฝ๋์ด๋ค.
index.php
<!DOCTYPE html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WEB</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?= $list ?>
</ol>
<a href="create.php">create</a>
<?= $update_link ?>
<?= $delete_link ?>
<h2><?= $article['title'] ?></h2>
<?= $article['description'] ?>
<?= $author ?>
</body>
</html>
๋๊ฐ ์์ฑํ๋์ง ํ๊ธฐ ํ๊ธฐ ์ํด์ HTML์ฝ๋์์ ํ์ธ ํ ์ ์๊ฒ ์ ์์ ํ์๋ค. ์๋ก์ด ๊ตฌ์ฑ์ ๋ง๋ค์ด ๋ด๊ธฐ ์ ์ create๋ถ๋ถ์ ์ ์ ๋ณต์ตํ์.
์์๊ฐ์ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ์๋ create๋ฅผ ๋ค์ ์ดํด๋ณด์. create๋ผ๋ aํ๊ทธ๋ฅผ ๊ฐ์ง๊ณ create.php์์ ์๋ก ์์ฑ๋๋ ๋ฐ์ดํฐ๋ค์ ์์ฑํด ์ค ๊ฒ์ด๋ค. create.php์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'*****',
'phpmysql'
);
$sql = "SELECT * FROM topic";
$result = mysqli_query($conn, $sql);
$list = "";
while ($row = mysqli_fetch_array($result)) {
$escaped_title = htmlspecialchars($row['title']);
$list = $list . "<li><a href=\"index.php?id={$row['id']}\">{$escaped_title}</a></li>";
}
?>
<!DOCTYPE html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WEB</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?= $list ?>
</ol>
<form action="process_create.php" method="POST">
<p><input type="text" name="title" placeholder="title"></p>
<p><textarea name="description" placeholder="description"></textarea></p>
<p><input type="submit"></p>
</form>
</body>
</html>
ํด๋น create aํ๊ทธ๋ฅผ ์ ํํ๋ฉด ํด๋น create.php๋ก ๋ค์ด์ค๊ฒ ๋๊ณ ์ฐ๋ฆฌ๊ฐ ์๋ก์ด ๋ฆฌ์ํธ๋ฅผ ์์ฑํ๊ณ ์์ฑํ๊ฒ๋๋ฉด process_create.php๋ก ๋์ด๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ๊น์ง๋ ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ ๊ณ์ ์์ ํด์๋ ๋ฐฉ์์ด๋ผ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง๋ ์์ ๊ฒ์ด๋ค. ์คํ๋ ค ํ์ธํด์ผํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ $sql๊ฐ์ด ์ด๋ป๊ฒ ์ด๋์ ๋ค์ด๊ฐ ์๊ณ ์ฌ์ฉ๋๊ณ ์๋์ง๋ฅผ ๋์ฌ๊ฒจ์ ๋ด์ผํ๋ค๋ ๊ฒ์ด๋ค. ์๋๋ process_create.php์ฝ๋์ด๋ค.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'*****',
'phpmysql'
);
$filtered = array(
'title' => mysqli_real_escape_string($conn, $_POST['title']),
'description' => mysqli_real_escape_string($conn, $_POST['description'])
);
$sql = "
INSERT INTO topic(title, description, created)
VALUES(
'{$filtered['title']}',
'{$filtered['description']}',
NOW()
)
";
$result = mysqli_query($conn, $sql);
if ($result === false) {
echo '์ ์ฅํ๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ต๋๋ค. ๊ด๋ฆฌ์์๊ฒ ๋ฌธ์ํด์ฃผ์ธ์.';
error_log(mysqli_error($conn));
} else {
echo '์ฑ๊ณตํ์ต๋๋ค.<a href="index.php">๋์๊ฐ๊ธฐ</a>';
}
์ญ์๋ ์์ ๋งํ๋ฏ $sql๋ณ์์ ์ด๋ค ๊ฐ์ด ๋ค์ด๊ฐ๋์ง ๋ด์ผํ๋ค. ์ฐ๋ฆฌ๊ฐ MySQL์์ TABLE ๊ฐ์ ์ฝ์ ํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๊ฐ ๋ค์ด๊ฐ ์๋ค. ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์ arrayํํ์ $filtered์ ๊ฐ์ ๋์ ํด์ ์ ๋์ ์ผ๋ก ๊ฐ์ MySQL server๋ก ์ ๋ฌํ๊ณ ์๋ค. ์ฌ๊ธฐ๊น์ง ์ฐ๋ฆฌ๊ฐ ์์ ๋ฐฐ์ ๋ '์์ฑ'ํํธ์ด์ง๋ง ์ด์ ์ฐ๋ฆฌ๊ฐ author๋ผ๋ TABLE์ ์ฐ๊ฒฐํด์ author ํ ์ด๋ธ๋ก ๋์๊ฐ์ ์์ฑ์์ ๊ฐ๋ค์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋ํด ๋ณผ ๊ฒ์ด๋ค.
์ฐ์ author๋ผ๋ ํ์ด์ง๋ฅผ ์๋ก ์ฐ๊ฒฐํ ์ ์๋ ํ๊ทธ๋ฅผ ๋ง๋ค์ด์ผํ๊ณ ๊ทธ ํ๊ทธ์์ ๋ค์ด๊ฐ๋ฉด ํด๋น author์ ํ๊ฐ ๋์ค๋ ๊ฒ์ด ์ฐ๋ฆฌ์ ๋ชฉ์ ์ด๋ค. ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<!DOCTYPE html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WEB</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<a href="author.php">author</a>
<ol>
<?= $list ?>
</ol>
<p><a href="create.php">create</a></p>
<?= $update_link ?>
<?= $delete_link ?>
<h2><?= $article['title'] ?></h2>
<?= $article['description'] ?>
<?= $author ?>
</body>
</html>
์ฐ๋ฆฌ๊ฐ index.php์์ ๋ง๋ค์๋ ์ฝ๋์์ aํ๊ทธ๋ฅผ ์ถ๊ฐํด์ author.php๋ก ๋์ด๊ฐ ์ ์๋ aํ๊ทธ๋ฅผ ์์ฑํ๋ฉด ๊ทธ๋ง์ด๋ค. ์์ง ๊ฐ๊ธธ์ด ๋จธ๋ ๋นจ๋ฆฌ author.php๋ฅผ ์ดํด๋ณด์.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'*****',
'phpmysql'
);
?>
<!DOCTYPE html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WEB</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<p><a href="index.php">topic</a></p>
<table border="1">
<tr>
<td>id</td>
<td>name</td>
<td>profile</td>
<?php
$sql = "SELECT * FROM author";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
$filtered = array(
'id' => htmlspecialchars($row['id']),
'name' => htmlspecialchars($row['name']),
'profile' => htmlspecialchars($row['profile']),
)
?>
<tr>
<td><?= $filtered['id'] ?></td>
<td><?= $filtered['name'] ?></td>
<td><?= $filtered['profile'] ?></td>
</tr>
<?php
}
?>
</tr>
</table>
<form action="process_create_author.php" method='POST'>
<p><input type="text" name="name" placeholder="name"></p>
<p><textarea name="profile" placeholder="profile"></textarea></p>
<p><input type="submit" value="Create author"></p>
</form>
</body>
</html>
์ฐ๋ฆฌ๊ฐ author๋ ํ๋ก ์ง์ ๋ณด์ฌ์ฃผ๊ณ ์ถ๊ธฐ๋๋ฌธ์ tableํ๊ทธ์ trํ๋ฅผ ์ด์ฉํด์ ์น๋ธ๋ผ์ฐ์ ๋ก ์์ฑ์๋ค์ ํ๋ฅผ ๋ง๋ค์๋ค. ์ด ๊ณต๊ฐ์ author์ createํ์ด์ง๋ฅผ ๋ฐ๋ก ์์ฑํ์ง ์๊ณ ํตํฉํ ํ ๊ฒ์ด๋ค. ์์ฑ์๋ฅผ createํ์ ๋๋ porcess_create_author.php๋ก ๋์ด๊ฐ๋ฉฐ ํด๋น ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'******',
'phpmysql'
);
$filtered = array(
'name' => mysqli_real_escape_string($conn, $_POST['name']),
'profile' => mysqli_real_escape_string($conn, $_POST['profile']),
);
$sql = "
INSERT INTO author(name, profile)
VALUES(
'{$filtered['name']}',
'{$filtered['profile']}'
)
";
$result = mysqli_query($conn, $sql);
if ($result === false) {
echo '์ ์ฅํ๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ต๋๋ค. ๊ด๋ฆฌ์์๊ฒ ๋ฌธ์ํด์ฃผ์ธ์.';
echo mysqli_error($conn);
error_log(mysqli_error($conn));
} else {
// echo '์ฑ๊ณตํ์ต๋๋ค.<a href="author.php">๋์๊ฐ๊ธฐ</a>';
header('Location: author.php'); //๋ฆฌ๋ค์ด๋ ์
๋ฐฉ๋ฒ
}
ํด๋น php๋ ๋ค๋ฅธ process.phpํ์ผ๋ค๊ณผ ๋ค๋ฅผ๊ฒ ์๋ค. ์ญ์๋ ์ฐ๋ฆฌ๊ฐ ์ ์ ๊น๊ฒ ๋ด์ผํ๋ ๊ฒ์ $sql๋ณ์์ด๋ค. ์ฌ๊ธฐ๊น์ง author์ ํ์ด์ง๋ฅผ ์๋ก ๊ตฌ์ฑํ ๋ถ๋ถ์ด๋ค. ์ด์ create๋ถ๋ถ์์ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ์์ฑํ ๋๋ง๋ค ์ด๋ค ์์ฑ์๊ฐ ํด๋น ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ ์ ํํ ์ ์๋ selectํ๊ทธ๋ฅผ ์ด์ฉํ ์ฝ๋๋ฅผ ํ๋ฒ ์์ฑํด๋ณด์. ์๋ ์ฝ๋๋ฅผ ์ดํด๋ณด์.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'******',
'phpmysql'
);
$sql = "SELECT * FROM topic";
$result = mysqli_query($conn, $sql);
$list = "";
while ($row = mysqli_fetch_array($result)) {
$escaped_title = htmlspecialchars($row['title']);
$list = $list . "<li><a href=\"index.php?id={$row['id']}\">{$escaped_title}</a></li>";
}
$sql = "SELECT * FROM author";
$result = mysqli_query($conn, $sql);
$select_form = '<select name="author_id">';
while ($row = mysqli_fetch_array($result)) { //
$select_form .= '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
} //์ฌ๊ธฐ์ $select_form๋ณ์๋ value๊ฐ์ process_create.php๋ก ์ ๋ฌ ๋ฐ์์ผํ๋ค. ๋ง์ฝ value์ ๊ฐ์ ์ค์ ํ์ง ์๊ณ POST๋ก ์ ๋ฌํ๊ฒ ๋๋ค๋ฉด row['name']๊ฐ์ด process_create.php๋ก ์ ๋ฌ์ด ๋๊ณ ๊ทธ ๊ณณ์์ 'author_id' => mysqli_real_escape_string($conn, $_POST['author_id'])๋ผ๋ array ๋ถ๋ถ์์ $filtered['author_id']๋ก string๋ฌธ์ด ์ ๋ฌ๋๋ฉฐ ์ดํ sql์์ ํด๋น author_id์ colum๊ฐ(INT)์ type์ด ๋ง์ง ์์ ์ ์ฅํจ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ๋ฐ์ ์๋ค.
//.= ๋ ์ด์ ์ ๊ฐ์ง๊ณ ์๋ ๋ณ์์ ๊ฐ์ ๋ํด์ ์๋ก ๋์
ํ๋ ๊ฐ์ ์ด์ด๋ถํ๋ผ๋ ๋ฌธ๋ฒ์ด๋ค.
$select_form .= '</select>';
?>
<!DOCTYPE html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WEB</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?= $list ?>
</ol>
<form action="process_create.php" method="POST">
<p><input type="text" name="title" placeholder="title"></p>
<p><textarea name="description" placeholder="description"></textarea></p>
<?= $select_form ?>
<p><input type="submit"></p>
</form>
</body>
</html>
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ์ฃผ์ ๊น๊ฒ ๋ด์ผํ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<php
...
$sql = "SELECT * FROM author";
$result = mysqli_query($conn, $sql);
$select_form = '<select name="author_id">';
while ($row = mysqli_fetch_array($result)) { //
$select_form .= '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
} //์ฌ๊ธฐ์ $select_form๋ณ์๋ value๊ฐ์ process_create.php๋ก ์ ๋ฌ ๋ฐ์์ผํ๋ค. ๋ง์ฝ value์ ๊ฐ์ ์ค์ ํ์ง ์๊ณ POST๋ก ์ ๋ฌํ๊ฒ ๋๋ค๋ฉด row['name']๊ฐ์ด process_create.php๋ก ์ ๋ฌ์ด ๋๊ณ ๊ทธ ๊ณณ์์ 'author_id' => mysqli_real_escape_string($conn, $_POST['author_id'])๋ผ๋ array ๋ถ๋ถ์์ $filtered['author_id']๋ก string๋ฌธ์ด ์ ๋ฌ๋๋ฉฐ ์ดํ sql์์ ํด๋น author_id์ colum๊ฐ(INT)์ type์ด ๋ง์ง ์์ ์ ์ฅํจ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ๋ฐ์ ์๋ค.
//.= ๋ ์ด์ ์ ๊ฐ์ง๊ณ ์๋ ๋ณ์์ ๊ฐ์ ๋ํด์ ์๋ก ๋์
ํ๋ ๊ฐ์ ์ด์ด๋ถํ๋ผ๋ ๋ฌธ๋ฒ์ด๋ค.
$select_form .= '</select>';
?>
$sql๋ณ์๋ author TABLE์ ์ ํํ๊ณ ํด๋น TABLE์ ํ์์ selectํ๊ทธ๋ฅผ ์ด์ฉํด์ ์ ํํ ์ ์๊ฒ ํ๋ค. ๋ ๋์๊ฐ์ selectํ๊ทธ์ option๋ค์ ์์ฑ์ ์ ์ฌํ ๋ณด๋ฉด value๊ฐ $row['id']๋ฅผ ์ง์ ํ๊ณ ์๊ณ ํด๋ผ์ด์ธํธ๊ฐ ํด๋น select๋ฅผ ์ ํํ๊ณ ์์ฑ์ ํ๊ฒ ๋๋ฉด formํ๊ทธ์์ POST๋ก process_create.php์ ์ ๋ฌํ๊ณ ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ๋ณ๊ฒฝ๋๋ ์ฝ๋๋ $sql๋ฌธ์ด๋ ์ด์ ๋ณ๊ฒฝํ๊ธฐ ์ ์ process_create.php์ ๋น๊ตํ๋ฉด์ ์ดํด๋ณด์.
๋ณ๊ฒฝํ๊ธฐ ์ process_create.php๋ ์๋์ ๊ฐ๋ค.
$filtered = array(
'title' => mysqli_real_escape_string($conn, $_POST['title']),
'description' => mysqli_real_escape_string($conn, $_POST['description'])
);
$sql = "
INSERT INTO topic(title, description, created)
VALUES(
'{$filtered['title']}',
'{$filtered['description']}',
NOW()
)
";
๋ณ๊ฒฝ๋ process_create.php๋ ์๋์ ๊ฐ๋ค.
$filtered = array(
'title' => mysqli_real_escape_string($conn, $_POST['title']),
'description' => mysqli_real_escape_string($conn, $_POST['description']),
'author_id' => mysqli_real_escape_string($conn, $_POST['author_id'])
);
$sql = "
INSERT INTO topic(title, description, created, author_id)
VALUES(
'{$filtered['title']}',
'{$filtered['description']}',
NOW(),
{$filtered['author_id']}
)
";
์ฐ๋ฆฌ๊ฐ ์ด์ index.php ์์ formํ๊ทธ๋ฅผ ํตํด์ POST๋ฐ์ ๋ฐ์ดํฐ ๊ฐ์ธ author์ row['id']๊ฐ author_id๋ก ์ ๋ฌ๋์ด $sql ๋ณ์์ INSERT๊ฐ ๋๋ฉด์ MySQL monitor๋ก ๊ฐ์ด ์ ์ ๋ฌ ๋์๋์ง ํ์ธํ ์ ์๋ค. (์น์์์ by ~id๋ก ์์ฑํ ๊ฒ์ผ๋ก๋ ํ์ธ์ด ๊ฐ๋ฅํ๋ค.) ์๋ ์ฝ๋๋ MySQL monitor๋ก ํ์ธํ ์ฝ๋์ด๋ค.
MariaDB [phpmysql]> SELECT * FROM topic
-> ;
+----+-------------+--------------------+---------------------+-----------+
| id | title | description | created | author_id |
+----+-------------+--------------------+---------------------+-----------+
| 8 | MySQL | MySQL is ... | 2023-10-06 13:54:47 | 1 |
| 9 | Oracle | Oracle is ... | 2023-10-06 13:55:01 | 1 |
| 10 | SQL Servera | SQL Servera is ... | 2023-10-06 13:55:20 | 2 |
| 22 | test | test is .. | 2023-10-15 19:32:43 | 1 |
+----+-------------+--------------------+---------------------+-----------+
4 rows in set (0.001 sec)
์ค๋ ํฌ์คํธ๋ ์ด์ ํฌ์คํธ์ ๋นํด์ ๋ง์ด ํผ๋ ์ค๋ฌ์ธ ๊ฒ์ด๋ค. ์ค์ ๋ก ์์ฑ์๋ ์ด๋ป๊ฒ ํฌ์คํธ ํด์ผ ๋ ์๋ค์ด ์ฝ๊ฒ ์ดํดํ ์ง ๊ณ ๋ฏผํ๋ฉฐ ์์ฑํด ๋ณด์๋ค. ์ฐ์ ์ฐ๋ฆฌ๊ฐ ์ฃผ์ ๊น๊ฒ ๋ณด์์ผํ๋ ๊ฒ์ $sql๋ณ์๊ฐ ๊ฐ ์คํธ๋ฆฝํธ ๋ง๋ค ์ด๋ค ์ญํ ์ ํ๋์ง์ ๋ฐ๋ฟ ๋ณ๋์ด ๋๊ณ ์ด๊ฒ๋ค์ MySQL server ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋์ง๋ฅผ ์ฃผ์ ๊น๊ฒ ๋ณด์์ผํ๋ ๊ฒ์ด๋ค. ์ด์ ๋ํด์ formํ๊ทธ์ ์ด๋ป๊ฒ ๋ฐ์ดํฐ ๊ฐ๋ค์ด ์ ๋ฆฌ๊ฐ ๋๊ณ if๋ฌธ์ ํตํด์ ํ์ฑํ๊ฐ ๋๋์ง ํ๊ทธ๋ค์ ์์ฑ๊ฐ๋ค์ ๋ฉด๋ฐํ๊ฒ ๋ด์ผ ํ๋ค. ๊ฒฐ๊ณผ ์ ์ผ๋ก php์์ MySQL์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ด๊ฐ ์ผ๋ง๋ ๋ค์ํ MySQL๋ฌธ์ ๋ช ๋ น์ด๋ฅผ ์๋๋์ ๋ฐ๋ผ์ ๋ค์ํ ํํ์ ์คํฌ๋ฆฝํธ๋ก ๋ค์ํ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์กฐ๊ธ ๋์กํ๊ณ ๋ํดํด ๋ณด์ฌ๋ ์ฒ์ฒํ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฝ์ด๋ณด๊ณ ๋ณํ๋๋ ์คํฌ๋ฆฝํธ ์ $sql๋ณ์๋ฅผ ์ ๊ณผ ํ๋ฅผ ๋น๊ตํ๋ฉฐ ํ์ตํ๋ฉด ํฐ ๋์์ด ๋ ๊ฒ์ด๋ค. ์ด ๋ค์ ํฌ์คํธ๋ authorํ์ด์ง์์ ์์ ์ ํ๋ ํฌ์คํ ์ ์งํ ํ ๊ฒ์ด๋ค. ์ด์ ํฌ์คํธ๋ค๊ณผ ํฌ๊ฒ ๋ค๋ฅผ ๊ฒ์ด ์์ ๊ฒ์ด๋ค. ๋ด๊ฐ ๋งํ๋ ์ ๋ค์ ์ ์ํ๋ฉด์ ๋ฐ๋ผ์ค๋ฉด ํฌ๊ฒ ์ด๋ ค์์ด ์์ ๊ฒ์ด๋ค.
'Server > ๐ฌMySQL&๐PHP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์๋ก์ด ์์ ๊ณผ ์ญ์ (0) | 2023.10.16 |
---|---|
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์ํต ์ฐ๊ธฐ์ ์ญ์ (1) | 2023.10.12 |
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์ธํ๋ฆฌ ๋ณด์ (0) | 2023.10.09 |
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ๋ง์ ์ฝ๊ธฐ (0) | 2023.10.06 |
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์์ฑ (0) | 2023.10.06 |