簡體   English   中英

如何使用PHP創建數據庫(如果不存在)?

[英]How do I create a database if it doesn't exist, using PHP?

如何使用PHP創建數據庫(如果不存在)?

假設你在談論一個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);
?>

既然你提到了WAMP,我會假設你在談論MySQL。

這可能很棘手。 假設您的PHP腳本使用所有必需的憑據運行(這本身就是一個有問題的想法),您可以運行此查詢:

SHOW DATABASES

如果數據庫沒有顯示在那里,您可以假設它不存在並使用以下查詢之一創建它:

CREATE DATABASE foo ....

要么:

CREATE DATABASE IF NOT EXISTS foo ...

在此之后,您需要檢查您正在使用的任何PHP函數的返回值(例如mysql_query)。 如果現在允許您的用戶查看所有現有數據庫,或者不允許創建新數據庫,則上述查詢將失敗。

總的來說,我發現整個概念有點可怕。 小心處理! ;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM