-
PHP와 MariaDB 연동데이터베이스/SQL 2023. 12. 28. 17:02
PHP와 MariaDB 기본 연동
- DB 접속
<?php $db_host="localhost"; // 내 컴퓨터 $db_user="root"; // MariaDB 관리자 $db_password="1234"; $db_name=""; // 접속할 DB $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); ?>
앞으로 필요한 부분은 echo "MariaDB 접속 성공"; 이 부분 전까지이므로
$con=mysqli_connect("localhost", "root", "1234", "") or die("MariaDB 접속 실패");
위와 같이 한 행으로 줄여 코딩
실패하면 오류 메시지 출력 후 PHP 종료
- 데이터베이스 생성
<?php $con=mysqli_connect("localhost", "root", "1234", "") or die("MariaDB 접속 실패"); $sql="CREATE DATABASE sqlDB"; $ret = mysqli_query($con, $sql); if($ret) { echo "sqlDB가 성공적으로 생성됨"; } else { echo "sqlDB 생성 실패"."<br>"; echo "실패 원인:".mysqli_error($con); } mysqli_close($con); ?>
이후 DB 이름 변경해서 다시 생성, sqlDBp로 변경하고 다시 확인해 본 결과
- 테이블 생성
<?php $con=mysqli_connect("localhost", "root", "1234", "sqlDBp") 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", "sqlDBp") 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) ?>
- 데이터 조회
<?php $con=mysqli_connect("localhost", "root", "1234", "sqlDBp") 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); ?>