728x90

네이버 지식인에 문의사항이 있길래 테이블 생성하는 방법을 적는다.


테이블 설계는 보통 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 로 수정해주면 된다.


테스트에 사용된 코드 첨부


tablecreate.zip




블로그 이미지

Link2Me

,