MySQL 函数
在线手册:中文 英文
PHP手册

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db新建一个 MySQL 数据库

说明

bool mysql_create_db ( string $database name [, resource $link_identifier ] )

mysql_create_db() 尝试在指定的连接标识所关联的服务器上建立一个新数据库。

参数

database_name

要创建的数据库名。

link_identifier

MySQL 连接。如不指定连接标识,则使用由 mysql_connect() 最近打开的连接。如果没有找到该连接,会尝试不带参数调用 mysql_connect() 来创建。如没有找到连接或无法建立连接,则会生成 E_WARNING 级别的错误。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE.

范例

Example #1 替代 mysql_create_db() 的例子

mysql_create_db() 函数已废弃。最好用 mysql_query() 来提交一条 SQL 的 CREATE DATABASE 语句来代替。

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}

$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";
}
?>

以上例程的输出类似于:

Database my_db created successfully

注释

Note: Suggested alternatives

Use of this extension is discouraged. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API for more information.

Alternatives to this function include:

Note:

为了向下兼容,可以使用下列已废弃的别名: mysql_createdb()

Note:

如果 MySQL 扩展是基于 MySQL 4.x 客户端库编译的话则本函数不可用。

参见


MySQL 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 新建一个 MySQL 数据库

用户评论:

zubrag (29-Aug-2006 11:03)

mysql_create_db function will not work on cPanel hosting. If you need to create database from your PHP script on cPanel hosted server then you'll need to use cPanel interface. Database creation code would look like (calling cPanel's adddb function): http://USER:PASS@HOST:2082/frontend/SKIN/sql/adddb.html?db=DB

You can download ready-made sample php script from http://www.zubrag.com/scripts/cpanel-database-creator.php

omer (21-Jun-2005 01:42)

for MySQL4.1 lib users;

as noted the function is a no-go for MySQL4.1 libs.  While i do not know the logic behind this i was relieved to see that

mysql_connect ("localhost","$user","$password")
$soru = 'CREATE DATABASE '.$dbname;
mysql_query($soru);

worked just fine...