본문 바로가기
MySql

MySQL PHP MySQL이 존재하지 않는 경우 데이터베이스 생성

by 베이스 공부 2020. 9. 22.
반응형

데이터베이스를 만들고 싶습니다. 이 코드로 db가 생성되지 않는 이유는 무엇입니까?

$dbname = 'regulations_db';
    $con = mysql_connect("localhost","root","pass");
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }
if (mysql_num_rows(mysql_query("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '". $dbname ."'"))) {
        echo "Database $dbname already exists.";
    }
    else {
        mysql_query("CREATE DATABASE '". $dbname ."'",$con);
        echo "Database $dbname created.";
    }

이것은 효과가 있지만 첫 번째가 모범 사례라고 생각합니다.

if (mysql_query("CREATE DATABASE IF NOT EXISTS regulations_db",$con))
    {
        echo "Database created";
    }
    else
    {
        echo "Error creating database: " . mysql_error();
    }

 

해결 방법

 

간단한 mysql_select_db () 를 수행하고 결과가 거짓이면 생성을 진행합니다.


<?php
// Connect to MySQL
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

// Make my_db the current database
$db_selected = mysql_select_db('my_db', $link);

if (!$db_selected) {
  // If we couldn't, then it either doesn't exist, or we can't see it.
  $sql = 'CREATE DATABASE my_db';

  if (mysql_query($sql, $link)) {
      echo "Database my_db created successfully\n";
  } else {
      echo 'Error creating database: ' . mysql_error() . "\n";
  }
}

mysql_close($link);
?>

 

참조 페이지 https://stackoverflow.com/questions/9068767

 

 

반응형

댓글