개발하고 싶어요
PHP와 MariaDB의 기본 연동 본문
● DB 접속
- 기본적인 데이터베이스 접속
- mysqi_connect() : 서버 주소, DB사용자, 비밀번호, 접속할 DB를 사용
// 방법 1
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_password = '1234';
$db_name = '';
$con = mysqli_connect($db_host, $db_user, $db_password, $db_name);
if (mysqli_connect_error($con)) {
echo 'mariadb 접속 실패', '<br>';
echo '오류 원인 : ', mysqli_connect_error();
exit();
}
echo 'mariadb 접속 완전히 성공';
mysqli_close($con);
?>
// 방법 2
$con = mysqli_connect('localhost', 'root', '1234', '') or die('MariaDB 접속 실패!');
● SQL문을 실행하는 방법
- 데이터베이스 생성 : CREATE DATABASE~
- 테이블 생성 : CREATE TABLE~
- 데이터 입력/수정/삭제 : INSERT INTO~, UPDATE~, DELETE FROM~
- 데이터 조회 : SELECT~
● 데이터터베이스 생성
<?php
$con = mysqli_connect('localhost', 'root', '1234', '') or die('MariaDB 접속 실패!');
$sql = 'CREATE DATABASE testDB';
$ret = mysqli_query($con, $sql); // 데이터베이스 생성
if ($ret) {
echo 'testDB가 성공적으로 생성';
} else {
echo 'testDB생성 실패', '<br>';
echo '실패 원인 : ', mysqli_error($con);
}
mysqli_close($con);
?>
● 테이블 생성
<?php
$con = mysqli_connect('localhost', 'root', '1234', 'testDB') or die('MariaDB 접속 실패!');
$sql = '
CREATE TABLE userTBL
(userID CHAR(8) NOT NULL PRIMARY KEY,
name VARCHAR(10) NOT NULL,
birthYear INT NOT NULL,
addr CHAR(2) NOT NULL,
mobile1 CHAR(3),
mobile2 CHAR(8),
height SMALLINT,
mDate DATE)';
$ret = mysqli_query($con, $sql); // 데이터베이스 생성
if ($ret) {
echo 'userTBL이 성공적으로 생성';
} else {
echo 'userTBL 생성 실패', '<br>';
echo '실패 원인 : ', mysqli_error($con);
}
mysqli_close($con);
?>
● 데이터 입력
<?php
$con = mysqli_connect('localhost', 'root', '1234', 'testDB') or die('MariaDB 접속 실패!');
$sql = "
INSERT INTO userTBL VALUES
('LSG', '이승기', 1987, '서울', '011', '11111111', 182, '2008-8-8'),
('KBS', '김범수', 1979, '경남', '011', '22222222', 173, '2012-4-4'),
('KKH', '김경호', 1971, '전남', '019', '33333333', 177, '2007-7-7'),
('JYP', '조용필', 1950, '경기', '011', '44444444', 166, '2009-4-4'),
('SSK', '성시경', 1979, '서울', NULL, NULL, 186, '2013-12-12'),
('LJB', '임재범', 1963, '서울', '016', '66666666', 182, '2009-9-9'),
('YJS', '윤종신', 1969, '경남', NULL, NULL, 170, '2005-5-5'),
('EJW', '은지원', 1972, '경북', '011', '88888888', 174, '2014-3-3'),
('JKW', '조관우', 1965, '경기', '018', '99999999', 172, '2010-10-10'),
('BBK', '바비킴', 1973, '서울', '010', '00000000', 176, '2013-5-5') ";
$ret = mysqli_query($con, $sql); // 데이터베이스 생성
if ($ret) {
echo 'userTBL이 데이터가 성공적으로 입력';
} else {
echo 'userTBL 데이터 입력 실패', '<br>';
echo '실패 원인 : ', mysqli_error($con);
}
mysqli_close($con);
?>
● 데이터 조회
- mysqli_fetch_array(조회결과) : SELECT의 결과 집합을 하나의 행씩 접근
- mysqli_num_rows(조회결과) : SELECT로 조회된 행의 개수를 반환
<?php
$con = mysqli_connect('localhost', 'root', '1234', 'testDB') or die('MariaDB 접속 실패!');
$sql = "
SELECT *
FROM userTBL
";
$ret = mysqli_query($con, $sql); // 데이터베이스 생성
if ($ret) {
echo mysqli_num_rows($ret), '건이 조회됨.<br><br>';
} else {
echo 'userTBL 데이터 조회 실패', '<br>';
echo '실패 원인 : ', mysqli_error($con);
exit();
}
while ($row = mysqli_fetch_array($ret)) {
echo $row['userID'], ' ', $row['name'], ' ', $row['height'], ' ', '<br>';
}
mysqli_close($con);
?>
'Maria DB > PHP' 카테고리의 다른 글
Pro. 목재 의자 공장의 재고 관리 (0) | 2023.12.29 |
---|---|
회원 관리 시스템 (0) | 2023.12.29 |
HTML과 PHP 관계 (0) | 2023.12.28 |
PHP 기본문법(배열, PHP 내장 함수) (0) | 2023.12.28 |
PHP 기본 문법(조건문과 반복문) (1) | 2023.12.28 |