데이터베이스/SQL
PHP와 MariaDB 연동
haventmetyou
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);
?>