์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- addEventListener
- mysql
- callback
- ๋๊ธฐ
- ๊ฒ์
- ํผํ
- setTimeout()
- await
- Project
- ajax
- object
- prj
- ๋น๋๊ธฐ
- JS #ํ๋ก์ ํธ
- slow and steady
- https://m.blog.naver.com/tt2t2am1118/221010125300
- js
- webpack
- Import
- json
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- database
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- promise
- async
- execCommand
- eport
- sql
- db
- Porject
- Today
- Total
C-log
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์์ฑ ๋ณธ๋ฌธ
๐ฌMySQL&๐PHP : ๋๊ณ ๋์ ์ฝ๋ผ๋ฆฌ์ ์์ฑ
4:Bee 2023. 10. 6. 12:29php์ MySQL์ ๊ธ ์์ฑ์ ํ๊ธฐ ์์ ๋จผ์ ์ด ๋ ์ฌ์ด์์ ๋ฒ์ด ์ง ์ ์๋ ์๋ฌ๋ฅผ ์ดํด๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.
mysqli_error(), mysqli_connect_errno()
<?php
mysqli_report(MYSQLI_REPORT_OFF);
// mysql์ ์ ์ํ๊ฒ ๋ค๋ ํจ์์ด๋ค.
$conn = mysqli_connect("localhost", "root", "1024", "phpmysql");
$sql = "
INSER INTO topic
(title, description, created)
VALUE(
'MySQL',
'MySQL is ..',
NOW()
)
";
$result = mysqli_query($conn, $sql);
if ($result === false) {
echo mysqli_error($conn);
}
์์ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฐ๋ฆฌ๋ $sql์์ ์ด๋ค ๋ถ๋ถ์ด ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง ์ ์ ์๋ค. ๋ฌผ๋ก ์ฐ๋ฆฌ๊ฐ echo๋ฅผ ํตํด์ ์ธ๋ถ์ ์ผ๋ก ์ค๋ฅ๊ฐ ์ด๋๊ฐ ๋ฌ๋์ง ๋์ถ ํ ์ ์์ง๋ง ์ด๋ ์ธ๋ถ๋ก๋ถํฐ ๊ณต๊ฒฉ๋ฐ์ ์ ์์ผ๋ฏ๋ก ํญ์ ๋ด๋ถ์์ ๋ฐ์ํ ์ ์๊ฒ ๊ฐ์ถฐ์ผ ํ๋ค. mysqli_connect_errno()๋ ์์ ์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ ๋ mysqli_connect()ํจ์์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๋ ์๋ฌ๋ฅผ ์ฐพ์ ์ ์๋ ํจ์์ด๋ค. ์ข ๋ ๋ฉด๋ฐํ๊ฒ ์ฝ๋๋ฅผ ์ง๊ฒ ๋๋ค๋ฉฐ ์์ ๊ฐ์ ํจ์๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋ถ๋ถ์ ๋์ฑ ์ ์ฐพ์ ๋ผ ์ ์์ ๊ฒ์ด๋ค.
mysqli_report(MYSQLI_REPORT_OFF);
ํด๋น ํจ์๋ ์ธ์์ ์ผ๋ก ์๋ฌ๋ฅผ ๋ฐ์์ํฌ ๋ 'Fatal error...'๋ผ๋ ๊ตฌ๋ฌธ์ด ๋์ค์ง ์๊ฒ ํ๋ ๋ฐฉ์์ด๋ค. ์์ ๋ฒ์ ์์๋ MYSQLI_REPORT_OFF๊ฐ ์ด๊ธฐ๊ฐ์ด์์ผ๋ ํ์ฌ๋ MYSQLI_REPORT_ALL์ด ์ด๊ธฐ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ํด๋น ๊ตฌ๋ฌธ์ ์์ํ๋ ๋ถ๋ถ์ ์ฝ์ ์ ํด์ฃผ์ด์ผ ํ๋ค.
๊ธ์์ฑํ๊ธฐ
์ด์ ์ฐ๋ฆฌ๋ php์ MySQL์ ํตํด์ ๊ธ์ ์์ฑํด๋ณผ ๊ฒ์ด๋ค. ์ฐ์ create.php๋ฅผ ์์ฑํ๊ณ ๊ธ์ ์์ฑํ ์ ์๋ ๊ตฌ์ฑ์ ๊ฐ์ถ์ด์ผํ๋ค. ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<!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>WEB</h1>
<ol>
<li>HTML</li>
</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>
์ฌ๊ธฐ์ ์ฃผ์ ๊น๊ฒ ๋ณด์์ผํ๋ ๊ฒ์ formํ๊ทธ์ action์์ฑ์ด๋ค. action์์ฑ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ๋ณด๋ ๋ ํด๋น ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ URL์ด๋ค. action์์ฑ์ ์ด์ฉํด์ ์ฐ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ php๋ process_create.php์ด๋ฏ๋ก phpํ์ผ์ ์์ฑํด์ค๋ค. ์ดํ ์์ฑ๋ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$conn = mysqli_connect(
'localhost',
'root',
'******',
'phpmysql'
);
$sql = "
INSERT INTO topic(title, description, created)
VALUES(
'{$_POST['title']}',
'{$_POST['description']}',
NOW()
)
";
mysqli_query($conn, $sql);
echo $sql;
์์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ ์์ฑํ formํ๊ทธ๋ฅผ ๋ค์ ๋ณด๋ฉด fromํ๊ทธ์์ input๊ณผ textareaํ๊ทธ์ name์ ๋ณด๋ฉด ์ฐ๋ฆฌ๊ฐ process_create.php์์ ์์ฑํ VALUES์ ๋ฐ์ดํฐ ๊ฐ๋ค์ ์ด๋ฆ์ด ์ผ์นํ๋ค. ์ฆ, formํ๊ทธ๋ฅผ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ์ ๋ ฅํ๊ณ ์ด๋ฅผ POST๋ฐฉ์์ผ๋ก ์ ๋ฌํด์ ํด๋น ๋ฐ์ดํฐ ๊ฐ๋ค์ ๋๊ฒจ ๋ฐ์ ์ฒซ ๋ฒ์งธ๋ก ์์ฑํ ์ฝ๋์ ๋์ผํ๊ฒ mysqli๋ฅผ ์ฌ์ฉํด์ MySQL์ ์์ฑํ๋ค. ์์ฑ์ด ๋์๋์ง๋ ์๋ MySQL monitor๋ฅผ ํตํด์ ํ์ธํด๋ณด์.
MariaDB [phpmysql]> DELETE FROM topic;
Query OK, 3 rows affected (0.004 sec)
MariaDB [phpmysql]> SELECT * FROM topic;
+----+-------+--------------+---------------------+
| id | title | description | created |
+----+-------+--------------+---------------------+
| 4 | MySQL | MySQL is ... | 2023-10-06 11:56:21 |
+----+-------+--------------+---------------------+
1 row in set (0.000 sec)
๊ธฐ์กด์ ์์ฑํ ๋ฐ์ดํฐ๋ค๊ณผ ๊ตฌ๋ณํ๊ธฐ ์ํด์ DELETE FROM topic์ ์ฌ์ฉํด์ ๋ชจ๋ ์ง์ฐ๊ณ ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ก ์์ฑ๋์๋์ง ํ์ธํด๋ณธ ๊ฒ์ด๋ค. MySQL monitor๋ฅผ ํตํด์ ๋ฐ์ดํฐ ๊ฐ์ด ์ ์์ฑ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
์ฐ๋ฆฌ๊ฐ ์์์ ์๋ฌ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ด์ผ๊ธฐ ํ์๋ค. ์ด ์ฝ๋์์๋ ์๋ฌ๋ฅผ ํ์ธํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํด ๋ณผ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ๋ณ๊ฒฝํด๋ณด๋ฉด ๋๋ค.
error_log()
$result = mysqli_query($conn, $sql);
if ($result === false) {
echo '์ ์ฅํ๋ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ต๋๋ค. ๊ด๋ฆฌ์์๊ฒ ๋ฌธ์ํด์ฃผ์ธ์.';
error_log(mysqli_error($conn));
} else {
echo '์ฑ๊ณตํ์ต๋๋ค.<a href="index.php">๋์๊ฐ๊ธฐ</a>';
}
echo $sql;
์์ ์ฝ๋์์ error_log()ํจ์๋ก ์ฐ๋ฆฌ๋ echo๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋ ์ด๋์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ๋ด๋ถ์ ์ผ๋ก log๋ฅผ ์๋ ค์ฃผ๋ ํจ์์ด๋ค. ์ด๋ Apache Logs๋ฅผ ํตํด์ ํ์ผ ํ ์ ์๋ค.
์ด๋ ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ์์ฑํ๊ณ ์๋ฌ๋ฅผ ์ปจํธ๋กค ํ ์ ์๊ฒ ๊ตฌํํด ๋ณด์๋ค. ์ด์ ๋ ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์คํค๋ง๋ค์ ์ ํํด์ ํด๋น ํ์ด์ง๋ก ๋์ด๊ฐ๋ ๊ฒ์ ๊ตฌํ ํ ๊ฒ์ด๋ค.
'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 |