[MariaDB] 마리아DB PHP - PHP와 MariaDB 연계 (MySQL)
DB접속
먼저 이전 포스팅에서 설명드린 아파치를 실행해야 합니다.
reddb.tistory.com/130?category=925278
아래 코드로 만들어진 connect.php파일을 C:\xampp\htdocs 에 저장합니다.
DB서버가 따로 존재한다면 해당 서버의 IP를 변수 $db_host="IP"로 넣어주시면 됩니다.
같은 서버에서 아파치와 PHP, DB를 모두 사용하신다면 "localhost"로 넣어주시면 됩니다.
<?php
$db_host="DB가 있는 서버 주소"; //DB서버 주소를 입력
$db_user="root"; //접속할 ID
$db_password="1234"; // 접속할 ID의 패스워드
$db_name=""; // 특별히 사용할 DB가 있다면 DB명을 넣음
$con=mysqli_connect($db_host, $db_user, $db_password, $db_name); // 변수 $con에 db접속 내장함수와 (인자값 들)을 저장
if ( mysqli_connect_error($con) ) { // DB접속 했을 때 오류가 발생한다면
echo "MariaDB 접속 실패 !!", "<br>"; // 출력
echo "오류 원인 : ", mysqli_connect_error(); // mysqli_connet_error() 내장함수는 DB서버 연결 오류 원인을 반환해주는 함수
exit();
}
echo "MariaDB 접속 완전히 성공!!"; // 에러가 없을 시 출력
mysqli_close($con); // DB 접속 종료
?>
브라우저를 열어 주소창에 localhost/connect.php 를 입력해서 아래와 같은 문자가 나오면 DB에 정상 접속된 것입니다.
이후 부터는 위에서 길게 설정한 접속 변수 내용을 아래와 같이 간결하게 접속하도록 하겠습니다.
$con=mysqli_connect("localhost", "root", "1234", "") or die("MariaDB 접속 실패 !!");
데이터베이스 생성
createdb.php 파일을 만들고 아래의 내용을 입력 후 C:\xampp\htdocs 에 저장합니다.
<?php
$con=mysqli_connect("localhost", "root", "1234", "") or die("MariaDB 접속 실패 !!");
$sql="CREATE DATABASE phpDB"; // 변수$sql에 phpDB 생성 쿼리 입력
$ret = mysqli_query($con, $sql); // 변수$ret에 쿼리 실행 내장함수로 ($con, $sql) 실행
if($ret) { // mysqli_query가 성공적으로 실행되면 Ture 값이 반환됨
echo "sqlDB가 성공적으로 생성됨.";
}
else {
echo "sqlDB 생성 실패!!!"."<br>";
echo "실패 원인 :".mysqli_error($con);
}
mysqli_close($con);
?>
브라우저에서 해당 파일을 열어 봅니다.
성공적으로 생성됐다는 메시지가 나오면 DB에 붙어 정상적으로 만들어졌는지도 확인합니다.
테이블 생성
createtable.php 파일을 만들고 아래의 내용을 입력 후 C:\xampp\htdocs 에 저장합니다.
<?php
$con=mysqli_connect("localhost", "root", "1234", "phpDB") or die("MariaDB 접속 실패 !!");
// DB IP , ID , PW , 사용할DB명
// 변수 $sql에 테이블 생성 쿼리를 입력
$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); // 접속쿼리와 DB생성쿼리를 서버에서 실행하는 내장함수 mysqli_query()를 변수 $ret 쿼리에 입력
//mysqli_query는 성공시 True 값을 반환함
if($ret) { // 변수 $ret이 문제 없이 실행됐다면
echo "userTBL이 성공적으로 생성됨..";
}
else {
echo "userTBL 생성 실패!!!"."<br>";
echo "실패 원인 :".mysqli_error($con);
}
mysqli_close($con); // DB접속 종료
?>
브라우저에서 해당 파일을 열어봅니다.
테이블이 성공적으로 생성됐다는 내용이 나오면 DB에 접속해서 테이블을 확인해 봅니다.
데이터 입력
insertdata.php 파일을 만들고 아래의 내용을 입력 후 C:\xampp\htdocs 에 저장합니다.
<?php
$con=mysqli_connect("localhost", "root", "1234", "phpDB") or die("MariaDB 접속 실패 !!");
// 변수 $sql에 인서트 데이터를 입력. 아래 mysqli_query 내장함수는 하나의 SQL문만 실행하므로 여러건의 데이터를 넣기 위해 , 를 사용
$sql ="
INSERT INTO userTbl VALUES
('AAA', '김에이', 1987, '서울', '011', '1111111', 182, '2008-8-8'),
('BBB', '박비이', 1979, '경기', '011', '2222222', 173, '2012-4-4'),
('CCC', '조씨이', 1971, '부사', '019', '3333333', 177, '2007-7-7'),
('DDD', '성디이', 1950, '서울', '011', '4444444', 166, '2009-4-4'),
('EEE', '임이이', 1979, '광주', NULL , NULL , 186, '2013-12-12'),
('FFF', '윤에프', 1963, '서울', '016', '6666666', 182, '2009-9-9'),
('GGG', '은지지', 1969, '경북', NULL , NULL , 170, '2005-5-5'),
('HHH', '한흐흐', 1972, '경남', '011', '8888888', 174, '2014-3-3'),
('III', '이이이', 1965, '전남', '018', '9999999', 172, '2010-10-10'),
('JJJ', '장지지', 1973, '서울', '010', '0000000', 176, '2013-5-5')
";
$ret = mysqli_query($con, $sql);
if($ret) {
echo "userTBL이 데이터가 성공적으로 입력됨.";
}
else {
echo "userTBL 데이터 입력 실패!!!"."<br>";
echo "실패 원인 :".mysqli_error($con);
}
mysqli_close($con);
?>
브라우저에서 해당 파일을 열어봅니다.
성공적으로 입력됐다는 내용이 나오면 DB에 접속해서 테이블의 DATA를 확인해 봅니다.
데이터 조회
select.php 파일을 만들고 아래의 내용을 입력 후 C:\xampp\htdocs 에 저장합니다.
<?php
$con=mysqli_connect("localhost", "root", "1234", "phpDB") or die("MariaDB 접속 실패 !!");
$sql ="
SELECT * FROM userTbl
";
$ret = mysqli_query($con, $sql);
if($ret) {
echo mysqli_num_rows($ret), "건이 조회됨.<br><br>"; // mysqli_num_rows() 내장함수는 SELECT 문의 결과가 몇 개의 행인지를 반환
}
else {
echo "userTBL 데이터 조회 실패!!!"."<br>";
echo "실패 원인 :".mysqli_error($con);
exit();
}
while($row = mysqli_fetch_array($ret)) { // mysqli_fetch_array() 내장함수는 SELECT 문의 실행 결과에서 한행씩 결과 행을 추출함. 더이상 접근할 결과 행이 없을때 Fasle 값을 반환함.
echo $row['userID'], " ", $row['name'], " ", $row['height'], " ", "<br>";
}
mysqli_close($con);
?>
브라우저에서 해당 파일을 열어봅니다.
'MariaDB' 카테고리의 다른 글
[MariaDB] 마리아DB PHP - PHP와 MariaDB를 이용한 이용자 관리 시스템 (MySQL) (8) | 2020.10.20 |
---|---|
[MariaDB] 마리아DB PHP - HTML과 PHP 연계 (MySQL) (0) | 2020.10.19 |
[MariaDB] 마리아DB PHP - PHP 내장 함수 (MySQL) (0) | 2020.10.19 |