회원로그인
PHP로 MySQL 데이터베이스 만들기(생성하기)
15년 전
PHP에서 MySQL의 데이터베이스를 생성하기 위해서는 사용자에게 마땅한 권한이 있어야 합니다.
데이터베이스 생성과 드롭 권한이 있다면 아래와 같이 mysql_create_db() 와 mysql_drop_db() 함수를 이용해서
데이터베이스 생성/삭제가 가능(?)합니다.
아래 예제는 testDB를 생성하여 test_member 라는 테이블을 만든뒤 testDB를 드롭시키는 예제입니다.
<?php
$connect = mysql_connect ('localhost', 'root', '11111111') or die (mysql_error());
mysql_create_db('testDB') or die(mysql_error()); //testDB라는 데이터베이스를 생성
mysql_select_db('testDB',$connect);
$sql = "CREATE TABLE test_member ( ";
$sql = $sql . " seq int not null auto_increment, ";
$sql = $sql . " memuid varchar(20) NOT NULL, ";
$sql = $sql . " name varchar(20) NOT NULL, ";
$sql = $sql . " addr varchar(255) NOT NULL, ";
$sql = $sql . " PRIMARY KEY(seq), ";
$sql = $sql . " UNIQUE memuid (memuid) );";
$result = mysql_query($sql) or die(mysql_error());
mysql_drop_db('testDB'); //데이터베이스 testDB를 드롭시킴
?>
위의 예제를 실행시켰을때 아래와 같은 에러가 출력되는 경우가 있습니다.
"Fatal error: Call to undefined function: mysql_create_db() in ..... "
지금 각기 버전이 다른 세대의 서버에서 실행 시켜보니 두대에서 위와 같은 에러메시지가 출력되었습니다.
버전 차이는 아닌것 같고 함수 자체가 정의되지 않았다고 하니 확실하지는 않지만 "php_mysql.dll"이 로드(load)되어 있지 않았을때의 문제인 것 같습니다.
위의 함수를 사용못한다고 데이터베이스를 생성시킬 수 없는 것은 아닙니다. 만능인 mysql_query 함수를 이용하면
됩니다. 아래는 위의 예제를 mysql_query 함수를 이용해서 바꾼것입니다.
<?php
$connect = mysql_connect ('localhost', 'root', '11111111') or die (mysql_error());
mysql_query("CREATE DATABASE testDB") or die(mysql_error());
mysql_select_db('testDB',$connect);
$sql = "CREATE TABLE test_member ( ";
$sql = $sql . " seq int not null auto_increment, ";
$sql = $sql . " memuid varchar(20) NOT NULL, ";
$sql = $sql . " name varchar(20) NOT NULL, ";
$sql = $sql . " addr varchar(255) NOT NULL, ";
$sql = $sql . " PRIMARY KEY(seq), ";
$sql = $sql . " UNIQUE memuid (memuid) );";
$result = mysql_query($sql) or die(mysql_error());
mysql_query("DROP DATABASE testDB") or die(mysql_error());
?>
데이터베이스와 테이블 생성을 확인할려면 마지막 줄의 DROP DATABASE 부분을 제거해 주시면 됩니다
추천 : 691
추천
목록