2

我是 PHP 和 Android 的新手。我试图在现有线程上找到解决方案,但没有成功。

我正在开发一个需要连接到外部数据库的 android 项目。我已经设法使用 WAMP 创建了一个外部数据库,它在 localhost 上运行良好。

现在我正在尝试让外部数据库在线,我正在使用 000webhost.com。我已经通过 000webhost.com 服务创建了我的数据库副本,并尝试通过我的脚本和 000webhost.com 提供给我的凭据连接到数据库。(DB_HOST、DB_USER 等...)

我有一个应该显示所有现有用户的脚本。即它应该连接到数据库并在网络浏览器中显示来自数据库的所有信息(我通过网络连接到http://www.mywampserver.netau.net/android_connect/get_all_users_placedescoverer.php),但它失败了以下错误:

Warning: require_once(__DIR__/android_connect/db_connect_placedescoverer.php)
[function.require-once]: failed to open stream: No such file or directory in 
/home/a2056935/public_html/android_connect/get_all_users_placedescoverer.php
on line 12

在第 12 行的 get_all_users_placedescoverer.php 中,我有:

require_once __DIR__ . '/android_connect/db_connect_placedescoverer.php';

并且与 .db_connect_placedescoverer.php存在于同一文件夹中et_all_users_placedescoverer.php

我也尝试过使用:

require_once(realpath(dirname(__FILE__)'/android_connect/db_connect_placedescoverer.php'));

但后来我得到:

警告:require_once() [function.require-once]:第 13 行 /home/a2056935/public_html/android_connect/get_all_users_placedescoverer.php 中的文件名不能为空

对此的帮助将不胜感激。

4

1 回答 1

4

问题是PHP版本

如文档中所述,魔术常量__DIR__仅在 PHP v.5.3.0 中可用

000webhost 可能使用的是较低版本。

使用网络服务器中的代码创建一个文件phpinfo();并检查 php 版本。

要修复在 5.3.0 之前的 php 版本中使用的脚本,请将第 12 行更改为:

$dir = dirname(__FILE__);

require_once $dir . '/android_connect/db_connect_placedescoverer.php';

编辑:

你确定你把文件放在正确的地方吗?该文件应放在名为 android_connect 的目录中。

尝试使用调用 require 的文件的相对路径。

如果您的 index.php(我假设 index.php 是需要其他 php 文件的文件)放在 public_html 目录中,那么请尝试使用相对路径

require_once 'android_connect/db_connect_placedescoverer.php';

如果它们在同一个文件夹中,那么您可以只使用文件名:

require_once 'db_connect_placedescoverer.php';
于 2013-05-11T10:54:42.790 回答