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태그로 띄어주는 것
'IT > PHP & MySQL' 카테고리의 다른 글
[PHP & MySQL] 그룹 멤버 리스트 CRUD 구현 (0) | 2023.11.15 |
---|---|
[PHP&MySQL] xampp - mysql 실행 불가 [solved] (0) | 2023.11.13 |