์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- ๊ฒ์
- js
- database
- JS #ํ๋ก์ ํธ
- Project
- prj
- ๋๊ธฐ
- https://m.blog.naver.com/tt2t2am1118/221010125300
- db
- setTimeout()
- ๋น๋๊ธฐ
- await
- ํผํ
- webpack
- eport
- promise
- async
- execCommand
- sql
- Porject
- callback
- addEventListener
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- object
- slow and steady
- json
- ajax
- Import
- mysql
- Today
- Total
C-log
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ๋ง์ ์ฝ๊ธฐ ๋ณธ๋ฌธ
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ๋ง์ ์ฝ๊ธฐ
4:Bee 2023. 10. 6. 14:28MySQL์ ํตํด์ php๋ก ๋ฐ์ดํฐ๊ฐ์ ์์ฑํ๋ ๊ฒ๊น์ง ๋ฐฐ์ ๋ค. ์ด๋ฒ์๋ ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ์น๋ธ๋ผ์ฐ์ ๋ก ๋ํ๋ผ ์ ์๋ ๊ฒ์ ๋ฐฐ์ ๋ณผ ๊ฒ์ด๋ค. ์ด๊ฒ์ ๊ฐ์ฅ ์คํ ๋ช
๋ น์ด๋ MySQL์์๋ ๋ฐฐ์ ์ง๋ง SELECT์ด๋ค. ์ด๋ฅผ ํ์ฉํ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
mysqli_fetch_array()
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'1024',
'phpmysql'
);
$sql = "SELECT * FROM topic"; // WHERE id = 8
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
echo '<h2>' . $row['title'] . '</h2>';
echo $row['description'];
}
if ($row === NULL) {
echo "\n it's NULL!!";
}
์ฐ๋ฆฌ๊ฐ ์ ์ฅํ ์คํค๋ง๋ฅผ mysqli_fetch_array()๋ฅผ ํตํด ๋ฐฐ์ด๋ก ๋์ด ํ ์ ์๋ค. ํน์ดํ๊ฒ ํด๋น ๋ช
๋ น๋ฌธ์ ๊ณ์ํด์ ์ค๋ฐ๊ฟํด๊ฐ๋ฉฐ ์์ฑํ๋ฉด ํด๋น ํ๋ค์ด ํน์ ๋ฐฐ์ด๋ฌธ์ ์ง์ ํ์ง ์์๋ ๋์ด์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋ฐฐ์ด์ ๊ฐ๋ค์ด ๋์ถ ๋๊ณ ๋ง์ง๋ง์๋ NULL์ ์ถ๋ ฅํ๋ค. ์ด๋ฅผ ํ์ฉํด์ while๋ฌธ์ด๋ผ๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก $result๊ฐ NULL์ ๋ฐํํ์ง ์์ ๋๊น์ง ์ฆ, true์ผ ๋๊น์ง ๋ฐ๋ณต์ ์ผ๋ก ๋๋ฉฐ ๋ง์ง๋ง if๋ฌธ์ ํตํด NULL์ ๋ฐํํ ์ ๋ ์ด์ ๋ฐฐ์ด์ ๋์ดํ์ง ์บ๊ณ ๋ฉ์ถ๊ฒ ๋๋ค. ํด๋น ๋ฌธ๊ตฌ๊ฐ ์์ฑ๋๋ ๊ฒ์ด๋ค. ํน์ ๊ฐ์ ์ง์ ํ๊ธฐ ์ํด์๋ WHERE id = 'n'์ ํตํด์ ํด๋น ๊ฐ์ ํ์ธ ํ ์ ์๋ค.(ํด๋น ๋ฐฐ์ด์ ์คํค๋ง๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ MySQL Monitor๋ฅผ ํตํด ํ์ธํ๋ฉด ๋๋ค.)
์ด๋ ๊ฒ ์ฐ๋ฆฌ๊ฐ olํ๊ทธ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ php๋ง์ผ๋ก ํ์ํ ๊ฐ๊ณผ ์ ๋ณด๋ค์ ๋์ดํ๋ค. ์ด์ ์ฐ๋ฆฌ๊ฐ ๊ตฌ์ฑํ ํ์ ๋ง๊ฒ ํด๋น select.php๋ฅผ ์ ์ ํ ์ฌ์ฉํด์ ๊ตฌ์ฑํด๋ณด๋ฉฐ ๊ฐ ๋ฐ์ดํฐ๋ค์ ๋ณด๊ธฐ ์ข๊ฒ ์ฝ์ ์ ์๊ฒ ๋ง๋ค์ด ๋ณด์.
์ฐ๋ฆฌ๊ฐ ๋ง๋ ์คํค๋ง๋ฅผ aํ๊ทธ๋ฅผ ์ด์ฉํด์ title๋ก ๋จผ์ ๋ชฉ๋กํ ํ๊ณ ์ด๋ฅผ ๋๋ ์ ๋ description์ด ๋์ค๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด ๋ผ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์๋ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'1024',
'phpmysql'
);
$sql = "SELECT * FROM topic";
$result = mysqli_query($conn, $sql);
//$list ๋ณ์๋ bodyํ๊ทธ์ olํ๊ทธ ๋ชฉ๋ก์ผ๋ก ํ์ฉํ๊ธฐ ์ํด์ ๋ง๋ ๋ณ์์ด๋ค.
//ํด๋น ๋ณ์๋ฅผ ํ์ฉํ๊ธฐ ์ํด์๋ ์๋ while๋ฌธ์ ๋ณด๋ฉด ์ ์ ์๋ค.
//์์ ์ฐ๋ฆฌ๊ฐ while๋ฌธ์ ์กฐ๊ฑด๋ฌธ์์ ์ฌ์ฉ๋ ํจ์๋ฅผ ํ์ฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฐฉ์์ด๋ค.
//๋ค๋ง $list๋ณ์๋ฅผ ํ์ฉํ๋ ๋ถ๋ถ์ ์ ์๊น๊ฒ ํ์ธํด๋ณด๊ณ ๋ค์ ๋ณผ ํ์๊ฐ ์๋ค.
$list = "";
while ($row = mysqli_fetch_array($result)) {
$list = $list . "<li><a href=\"index.php?id={$row['id']}\">{$row['title']}</a></li>";
}
$article = array(
'title' => 'Welcome',
'description' => 'Hello, web'
);
#๋ง์ฝ id๊ฐ ์ฃผ์์ isset์ด ๋์๋ค๋ฉด $sql ๋ณ์ ๊ฐ์ด ํด๋น ์ฃผ์์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
if (isset($_GET['id'])) {
//$_GET['id']์ id๋ URL์์์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ด๋ค. ์ฆ, URL์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ด id๊ฐ ํด๋น ํ๋ฉด TRUE๋ฅผ ๋ฐํํ๊ณ ์๋ ์กฐ๊ฑด๋ค์ด ๋ฐ์ํ๋ค.
$sql = "SELECT * FROM topic WHERE id={$_GET['id']}";
$result = mysqli_query($conn, $sql); //๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๋ ํจ์์ด๋ค. ์ด๋ฅผ ํตํด์ CRUD๋ฅผ ํ ์ ์๋ค.
$row = mysqli_fetch_array($result); //์ด ์ดํจ์๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์์ ๋ค์ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์ด ํํ๋ก ๋ฐํํ๋ค.
$article['title'] = $row['title']; //ํด๋น if๋ฌธ์ด ๋ฐ๋ํ์ง ์์ผ๋ฉด $article๋ณ์๊ฐ ์ ์ง๋๋ค.
$article['description'] = $row['description'];
}
?>
<!DOCTYPE html>
<html lang="en">
<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>
<h2><?= $article['title'] ?></h2>
<?= $article['description'] ?>
</body>
</html>
์ฐ๋ฆฌ๊ฐ select.phpํ์ผ์ ๋ง๋ค์๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๋ค. ๋ค๋ง Undefied index id in /..์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฅผ ํด๊ฒฐ ํ๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด ์์ฑ์ ํด์ผํ๋ค. ์ด๋ id ๊ฐ์ด ์์ผ๋ฉด ๋ฐ์ํ๋ค. ์ id ๊ฐ์ด ์๋ค๊ณ ํ๋์ง ์์๋ด์ผํ๋ค.
์ ์ญ๋ณ์ $result์ ์ง์ญ๋ณ์ $result
์ ์ญ๋ณ์์ ์๋ $result์ if๋ฌธ ์์ ์๋ ์ง์ญ๋ณ์ $result์ ๋์ ์ฐจ์ด๋ฅผ ๋น๊ตํด๋ณด์. ์ ์ญ๋ณ์ $result๋ ๋ชจ๋ ์ฃผ์ ์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๋ ๋ณ์์ด๊ณ ์ง์ญ๋ณ์์ธ $result๋ ์ ํํ ์ฃผ์ ์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ๋ณ์์ด๋ค. ์ด ๋์ ๊ฐ์ฅ ํฐ์ฐจ์ด๋ WHERE๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋์ง ์ํ๋์ง์ ์ฐจ์ด์ด๋ค.
isset()
issetํจ์์ ์ญํ ์ ํด๋น ํ๋ผ๋ฉํฐ๊ฐ ์ ์ ๋์ด ์๋์ง ํ์ธํ๋ ํจ์์ด๋ค. ๋ฐ๋ผ์ if๋ฌธ์ ํตํด์ True๋ฅผ ๋ฐํํ๋ฉด ํด๋น ์กฐ๊ฑด๋ฌธ๋ค์ด ํ์ฑํ๊ฐ ๋๋ ๊ฒ์ด๋ค.
์ ์ด๋ป๊ฒ GET์ด ๋๋๊ฐ
$_GET['id']์ id๋ URL์์์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ด๋ค. ์ฆ, URL์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ด id๊ฐ ํด๋น ํ๋ฉด TRUE๋ฅผ ๋ฐํํ๊ณ if์ ์๋ ์กฐ๊ฑด๋ค์ด ๋ฐ์ํ๋ค. aํ๊ทธ๋ method์์ฑ์ด ์์ง ์๋ค. method๋ fromํ๊ทธ ์์ฑ์ ์๋ค. ๋ฐ๋ผ์ GET๊ณผ aํ๊ทธ๋ ์ ํ ๊ด๊ณ๊ฐ ์๋ค.
GET๊ณผ POST์ ์ฐจ์ด
์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ๊ฐ์ ธ์ฌ ๋๋ GET์ ์ฌ์ฉํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ์ถํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ๋๋ POST๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ์ผ๋ฐ์ ์ธ ๊ดํ์ด๋ค. ๋ํ ๋ณด์๊ณผ ๋ฐ์ดํฐ ์์ ๊ณ ๋ คํ์ฌ ์ ์ ํ ๋ฉ์๋๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค.
'Server > ๐ฌMySQL&๐PHP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์ํต ์ฐ๊ธฐ์ ์ญ์ (1) | 2023.10.12 |
---|---|
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์ธํ๋ฆฌ ๋ณด์ (0) | 2023.10.09 |
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์์ฑ (0) | 2023.10.06 |
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์ฒซ ๋ง๋จ (0) | 2023.10.05 |
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ๋ง๋จ (0) | 2023.09.21 |