如何使用PHP创建数据库(如果不存在)?

时间:2010-06-28 09:57:10

标签: php mysql

如果数据库不存在,如何使用PHP创建数据库?

2 个答案:

答案 0 :(得分:12)

假设您正在谈论MySQL数据库 - 您希望使用mysql_querymysql_select_db

请注意,mysql_create_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);
?>

答案 1 :(得分:1)

既然你提到了WAMP,我会假设你在谈论MySQL。

这可能很棘手。假设您的PHP脚本使用所有必需的凭据运行(这本身就是一个有问题的想法),您可以运行此查询:

SHOW DATABASES

如果数据库没有显示在那里,您可以假设它不存在并使用以下查询之一创建它:

CREATE DATABASE foo ....

或:

CREATE DATABASE IF NOT EXISTS foo ...

在此之后,您需要检查您正在使用的任何PHP函数的返回值(例如mysql_query)。如果现在允许您的用户查看所有现有数据库,或者不允许创建新数据库,则上述查询将失败。

总的来说,我发现整个概念有点可怕。小心处理! ; - )