主机不运行时创建/导入mysql数据库';不允许从脚本(php)创建数据库

主机不运行时创建/导入mysql数据库';不允许从脚本(php)创建数据库,php,mysql,Php,Mysql,我之前问过,得到了一些不错的代码,但我关心的是其中的一条评论。我询问了如何在共享主机上从php中的sql文件创建和导入mysql数据库。一位评论员说,有些主机可能不允许我从php执行此操作。在其他地方挖掘了一些信息后,有人建议我可以从主机控制面板创建数据库,但可以通过php脚本创建表来导入数据库,以这种方式执行sql查询: mysql_query("CREATE TABLE `TABLE NAME HERE` ( `id` int(25) NOT NULL de

我之前问过,得到了一些不错的代码,但我关心的是其中的一条评论。我询问了如何在共享主机上从php中的sql文件创建和导入mysql数据库。一位评论员说,有些主机可能不允许我从php执行此操作。在其他地方挖掘了一些信息后,有人建议我可以从主机控制面板创建数据库,但可以通过php脚本创建表来导入数据库,以这种方式执行sql查询:

         mysql_query("CREATE TABLE `TABLE NAME HERE` (
        `id` int(25) NOT NULL default '0',
        `CLMN NAME HERE` varchar(250) collate latin1_general_ci default NULL,
        `CLMN NAME HERE` int(10) default NULL,
        PRIMARY KEY  (`id`)
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;");

        mysql_query("INSERT INTO `TABLE NAME HERE` VALUES ('VALUE HERE', 'VALUE HERE', 'VALUE HERE');"); 
有人能对此发表评论吗?如果给定的主机对我在php中使用数据库所能做的事情有限制,我该如何实现我要做的事情


(我不确定为此创建新问题是否合适,但我认为,由于上一个问题有很好的示例,如果主机没有阻止所有内容,我将创建单独的问题,如果主机限制性更强,我也会这样做。)

如果主机不允许您从PHP代码执行CREATE TABLE语句,我会感到惊讶


最有可能引用的是CREATE DATABASE语句上的块。通常,您已经被分配了一个数据库名称,因此您永远不会在共享主机上执行CREATE database语句。

共享主机,并且通常不允许您创建数据库,除非使用它们的控制面板。这并不少见,而且这样做的理由很充分

如果您不能从phpmyadmin或任何其他管理工具(除了它们的控制面板)执行此操作,那么您也无法在PHP中执行此操作


在这种情况下,您唯一的解决方案是首先使用主机的控制面板创建数据库,然后编辑备份文件并在执行之前注释掉create database语句。

真的吗?那么多个数据库主机呢?我还看到一个只允许一个数据库,但它不是从我的用户名自动创建的,我必须在控制面板中手动创建它。