【问题标题】:how to create database using php in hostgator shared hosting account?如何在 hostgator 共享主机帐户中使用 php 创建数据库?
【发布时间】:2012-06-25 05:44:59
【问题描述】:

我可以通过 cpanel 手动创建数据库。但我想使用 php 创建数据库。我尝试使用 w#school.com 中的代码,但它不起作用。如何使用 php 创建数据库?

<?php
$con = mysql_connect("localhost",cpname_DbUsername,password);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

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

mysql_close($con);
?> 

上面的代码给我错误:( 顺便说一句,我试图在 hostgator 支持 [端口论坛中提问,但我无法在他们的论坛中提出新的威胁 :(

【问题讨论】:

  • 我相信你做不到。因为数据库必须通过hostgator的cpanel创建。
  • @deceze,它说访问被拒绝
  • @ariefbayu,我也有同样的想法。但现在我对此持怀疑态度,因为我使用他们的自动安装程序安装了 CMS,因为数据库是自动创建的!所以,一定有办法以编程方式创建数据库
  • @NokImchen:是的!因为您使用的是他们的自动安装程序。在网络托管行业中很常见,在自动安装程序 cms 上自动创建数据库和基本设置。帮助新用户更快上手。
  • 尝试运行SHOW GRANTS FOR 'yourdatabase_username'@'localhost';作为查询和print_r作为结果。

标签: php cpanel


【解决方案1】:
function create_db($cPanelUser,$cPanelPass,$dbName) {

$buildRequest = "/frontend/x3/sql/addb.html?db=".$dbName;

$openSocket = fsockopen('localhost',2082);
if(!$openSocket) {
    return "Socket error";
    exit();
}

$authString = $cPanelUser . ":" . $cPanelPass;
$authPass = base64_encode($authString);
$buildHeaders  = "GET " . $buildRequest ."\r\n";
$buildHeaders .= "HTTP/1.0\r\n";
$buildHeaders .= "Host:localhost\r\n";
$buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
$buildHeaders .= "\r\n";

fputs($openSocket, $buildHeaders);
while(!feof($openSocket)) {
    fgets($openSocket,128);
}
fclose($openSocket);


//echo "Created database $dbName";

}
create_db('username','password','dbname');

【讨论】:

  • 这是一种安全的方法吗?
  • 安全端口是 2083,而不安全端口是 2082...所以可能不是。
【解决方案2】:

在共享主机上,您将无权通过 PHP 创建数据库,因为它们会限制您可以拥有的数据库数量。您需要通过他们的控制面板进行操作。在旁注中,您可能应该为新的 web 应用程序使用 PDO(或者如果应用程序允许,则使用更强大的抽象层)。 php_mysql 已弃用。另外,w3schools 是bad, non-authoritative resource

【讨论】:

    【解决方案3】:

    首先检查用户名密码和mysql db名称是否正确,是否有访问数据库的权限。

    然后,尝试使用新方法连接到名为PDO的数据库

    这是手册PDO MANUAL

    【讨论】:

      【解决方案4】:

      我从 CPanel 在 Hostgator 中创建数据库的方法是使用 MySQL Workbench ,这是您必须完成的一些步骤! Click Here! 您可以从工作台管理主机中的所有数据库。

      Workbench 是一个非常容易使用的工具!

      【讨论】:

      • 虽然这在理论上可以回答问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
      猜你喜欢
      • 2013-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 2013-07-05
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      相关资源
      最近更新 更多