【问题标题】:php script automatically creating mysql database?php脚本自动创建mysql数据库?
【发布时间】:2011-10-21 02:20:21
【问题描述】:

有谁知道是否有一个脚本可以自动创建一个 mysql 数据库,而不必进入 cpanel 并手动创建一个数据库、用户名和密码?

谢谢

【问题讨论】:

    标签: php mysql database


    【解决方案1】:

    除非您使用更高级别的用户自己登录,否则您无法创建用户名和密码。这通常是根。使用具有足够权限的用户名和密码后,创建数据库变得轻而易举。

    <?php
    
        $dsn = $dsn = "mysql:host=localhost";
        $pdo = new PDO($dsn,"root","");
    
        //Creation of user "user_name"
        $pdo->query("CREATE USER 'user_name'@'%' IDENTIFIED BY 'pass_word';");
        //Creation of database "new_db"
        $pdo->query("CREATE DATABASE `new_db`;");
        //Adding all privileges on our newly created database
        $pdo->query("GRANT ALL PRIVILEGES on `new_db`.* TO 'user_name'@'%';");
    
    ?>
    

    在此脚本中,我假设您的 root 用户名为“root”,其密码为 ,如果不是这样,请更改第 4 行进行匹配。

    【讨论】:

    • 我想我已经登录到服务器了。我打算用 ftp 将脚本安装到我的网站和服务器上,然后我想创建一个 install.php 页面以便于创建数据库。我可能没有正确解释事情。
    • 您的脚本不应创建数据库(恕我直言),但希望安装您的应用程序的用户应该。请注意所有较大的 CMS 和应用程序,它们会向用户询问数据库名称、用户名和密码。但是,如果您在运行脚本时已经打开并连接了一个 PDO 对象,请随意跳过前两行。
    • Cpanel 不允许您这样做
    • @Lan:我为什么要关心 cPanel?这个问题没有提到任何关于 cPanel 的内容。
    • 为什么有两个变量? ($dsn = $dsn)
    【解决方案2】:

    不登录就无法创建新用户。

    您可以使用root帐户或具有权限的用户创建数据库

    【讨论】:

      【解决方案3】:
      <?php
          mysql_connect("localhost", "root", "gm123") or die(mysql_error());
          mysql_query("CREATE DATABASE cat") or die(mysql_error());
          mysql_select_db("cat") or die(mysql_error());
          mysql_query("CREATE TABLE user(username varchar(20), password varchar(20), permission varchar(20))") or die(mysql_error());
          mysql_query("INSERT INTO user(username,password,permission) VALUES('gm','311807','admin')") or die(mysql_error());  
          mysql_query("CREATE TABLE cattbl(id INT NOT NULL PRIMARY KEY ,name VARCHAR(30),roll INT NOT NULL,technology VARCHAR(30),semister VARCHAR(30),shift VARCHAR(30),bdate varchar(30),cell VARCHAR(30),address VARCHAR(30),picture LONGBLOB)") or die(mysql_error());        
      
              header("Location: index.php");
      ?>
      

      你可以试试这个解决你的问题

      【讨论】:

        【解决方案4】:

        我刚刚在我的项目中这样做

        实际答案是可以,但有点复杂。

        Cpanel 不允许您使用普通的“CREATE DATABASE 'mydbname';”在 php 脚本中创建一个新的数据库。

        您可以做到这一点的唯一方法是登录到您的 cpanel,通过数据库向导并创建一个新的。到目前为止,您可能每次都手动执行此操作。

        这可以通过 php 脚本来完成,但您必须使用 api——它会自动执行相同的操作。您必须向 api 提供您的 cpanel 用户名和 cpanel 密码。

        只要按照这个问题的答案 Create cpanel database through php script

        希望对你有帮助

        【讨论】:

          【解决方案5】:

          require_once 'database.php' 将这行代码添加到你的 index.php 中

          $servername = 'localhost';
          $username= 'root';
          $password ='';
          
          $conn = new mysqli($servername,$username,$password);
          
          if($conn->connect_error)
          {
              die("Connection Failed !" . $conn->connect_error()); 
          }
              else
              {
                  $sql = "CREATE DATABASE test_employee";
          
                  if($conn->query($sql)== TRUE )
                  {
                      echo "Database Created Successfully";
                  }
              }
          

          【讨论】:

            【解决方案6】:

            你绝对可以!你可以使用 PHP。

            首先您需要连接到数据库。然后,您需要在创建数据库的那个数据库上运行 SQL 查询。 (这本质上就是 cpanel 所做的)

            编辑:自 my_sql 已弃用后更新

            这是关于如何做到这一点的 stackoverflow 帖子...

            Can I create a database using PDO in PHP

            【讨论】:

            • 和我上面的答案一样。不要使用mysql_* 函数。如果可以的话,我会给你另一个使用 w3schools 的例子。见w3fools.com
            • 干得好,但现在你的答案没有回答问题,它没有说明如何创建用户或如何创建数据库。
            • 我正在研究它,但我只会链接到这个。我不能足够快地把东西放在一起。
            猜你喜欢
            • 2018-04-25
            • 2014-08-08
            • 2010-12-12
            • 1970-01-01
            • 1970-01-01
            • 2019-05-06
            • 2018-04-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多