0

错误:未选择数据库

我有一个由 ARVIXE(Windows 2008 服务器)托管的网站,目前由 IXWEBHOSTING(Windows 2003 服务器)托管。移动非常简单。只需下载/上传站点 PHP 文件并导出/导入 MySQL 数据库并更改配置 PHP 文件以指向新的数据库信息,瞧!

现在我正在尝试将站点移动到我自己的服务器。相信我,我在 DNS、服务器、网络方面没有任何问题。我已经这样做了 15 年(不是编程)。
这是我的实际服务器:Windows 2003 STD SP2、IIS6、PHP5.2.12、MySQL 5.0.96、FastCGI 1.5。和所有 MS 更新。

在您得出结论之前,请先告诉我是代码还是 MySQL 权限...我已阅读我认为 Internet 上的所有 No Database Selected 错误,包括这里,通常是一些代码修改或缺少代码或数据库权限问题。 ..但不是这个,请参阅下面的场景,您会明白为什么不这样做。

  • 场景 1 PHP 文件位于 IXWEBHOSTING 服务器中。配置 PHP 文件指向我自己的 MySQL 服务器,它工作正常。

  • 方案 2 PHP 文件位于 IXWEBHOSTING 服务器中。配置 PHP 文件指向 IXWEBHOSTING MySQL 服务器,它工作正常。

  • 场景 3 PHP 文件位于我的 Win2k3 服务器中。配置 PHP 文件指向 IXWEBHOSTING MySQL 服务器,我收到错误“未选择数据库”。

  • 场景 4 PHP 文件位于我的 Win2k3 服务器中。配置 PHP 文件指向我自己的 MySQL 服务器,我收到错误“未选择数据库”。

所以我知道它与我自己的 MySQL 服务器或 PHO 代码上的 MySQL 权限无关,因为场景 1 证明了这一点。我的服务器上的 PHP 似乎有问题。

在安装 OLD PHP 和 MySQ 之前,我拥有每个 PHP 5.3.13 和 MySQL 5.5.25 的最新版本以及相同的 FastCGI 版本。我有同样的问题!!!!我之所以安装旧版本是因为我想匹配IXWEBHOSTING服务器版本。

在上述安装之前,Windows 每次都是从头开始安装在 hyper-v 服务器上的。没有更新 第一次尝试在服务器上进行了 MS 更新,最后一次安装它具有所有 MS 更新,但我仍然遇到同样的问题。

我在使用 Windows 2008 STD、PHP 5.3.13 和 MySQL 5.5.25 时遇到了同样的问题。

PHP 正在加载所有适当的扩展来建立与 MySQL 的连接。我也让 PHPmyAdmin 运行没有问题。

我也在配置文件中尝试过,但没有运气

索引中有很多东西,但这是建立与数据库和查询的连接以及它失败的地方所需要的。

配置文件

<?
$usuarios_sesion="youth";
$host="localhost";
$user="usernamehere";
$pass="passwordhere";        
$db="databasehere";
$tabla="users";
?>

索引.php 文件

<?
require ("enlaces_config.inc.php");

$menu=mysql_query("SELECT id_cat, name_cat FROM categories WHERE access=0 AND published=1") or die ("Can't select categorias MySQL says: ".mysql_error());

?>

在这一点上,我不知道它还能是什么......权限,也许但不是 MySQL 权限,用户拥有数据库的完全权限。场景 1 和 2 也证明了这一点。

如果您需要检查 PHP 信息,请告诉我。我将发布 php 文件的名称以供执行

帮助!

4

1 回答 1

0

问题不在于您在服务器上编写的所有内容。
当您尝试从数据库中获取数据时,您必须基本上遵循以下步骤 -

  1. 创建连接

    这涉及使用数据库、用户名和密码以及主机名进行连接。您可以使用mysql_connect(),尽管已弃用

  2. 您需要从该主机中选择数据库。

  3. 您在步骤 2 中使用选定的数据库连接进行任何 mysql 查询。

我建议您首先掌握数据库概念,然后使用 php 实现。
最佳起点http://w3schools.com

于 2012-07-12T19:16:44.587 回答