Notice
Recent Posts
«   2025/07   »
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
Archives
관리 메뉴

개발하고 싶어요

PHP와 MariaDB의 기본 연동 본문

Maria DB/PHP

PHP와 MariaDB의 기본 연동

yuurimingg 2023. 12. 28. 16:47

● 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