네이버 지식인에 문의사항이 있길래 테이블 생성하는 방법을 적는다.
테이블 설계는 보통 phpMyAdmin 상에서 하면 편리하므로 굳이 PHP 코드 상에서 할 필요성을 느끼지 못해서 적어두지 않았다.
테이블 생성은 간단하다.
==== dbinfo.php ===
<?php
$db['host'] = "localhost";
$db['name'] = "csharp";
$db['user'] = "root"; // 원래는 root 사용하면 안되는데 연습용인지라...
$db['pass'] = "autoset";
$db['port'] = "3306";
?>
==== dbconnect.php ===
<?php
include_once 'dbinfo.php';
$connect = isConnectDb($db);
function isConnectDb($db)
{
$conn = mysqli_connect($db['host'],$db['user'],$db['pass'],$db['name'],$db['port']);
mysqli_set_charset($conn, "utf8"); // DB설정이 잘못되어 euc-kr 로 되어 있으면 문제가 됨
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit;
} else {
return $conn;
}
}
?>
==== tablecreate.php ====
<?php
include_once 'dbconnect.php'; // DB 연결
$sql ="
CREATE TABLE IF NOT EXISTS member (
no int(11) not null auto_increment,
id varchar(15) NOT NULL,
user_id varchar(15) NOT NULL,
name varchar(15) NOT NULL,
nick_name varchar(15),
birth varchar(8),
sex varchar(6),
tel varchar(8),
email varchar(40),
pw varchar(32) NOT NULL,
addr_1 varchar(100),
addr_2 varchar(100),
level int,
regdate char(20),
ip varchar(20),
PRIMARY KEY(no)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
";
$result=mysqli_query($dbconn,$sql);
if($result) {
echo "DB table created !!!";
} else {
echo "Error creating table : " . mysqli_error($dbconn);
}
mysqli_close($dbconn);
?>
여기서 한가지 알아야 할 사항은 테이블 생성시 CREATE TABLE IF NOT EXISTS member 를 하면 결과는 OK 로만 나온다. 이미 테이블이 생성되어 있으면 에러 메시지를 보이도록 하려면 CREATE TABLE member 로 수정해주면 된다.
테스트에 사용된 코드 첨부
'Web 프로그램 > DB 연동 및 처리' 카테고리의 다른 글
PHP DB 생성 및 테이블 생성 (0) | 2018.04.09 |
---|---|
MySQLi 객체 접속 방식(중복자료 검사 및 Insert) (0) | 2017.10.07 |
[PHP] MySQL 연동 기본 코딩 방법 ★★★ (0) | 2017.03.11 |
[PHP] 통신의 기본 이해 및 코딩방법 ★★★★★ (1) | 2016.10.28 |
[PHP기초] mysql_num_rows() 함수 (0) | 2016.10.08 |