我是PHP和Android的新手。我试图在现有线程上找到解决方案,但没有成功。
我正在开发一个Android项目,我需要连接到外部数据库。我已经设法使用WAMP创建一个外部数据库,它在本地主机上运行良好。
现在我正在尝试将外部数据库联机,我正在使用000webhost.com。 我通过000webhost.com服务创建了我的数据库副本,并尝试通过我的scrips和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中的文件名不能为空
对此的帮助将受到高度赞赏。
答案 0 :(得分:4)
问题是PHP版本
魔术常量__DIR__
仅在PHP v.5.3.0中可用,如documentation
000webhost可能使用较低版本。
在网络服务器中创建一个代码为phpinfo();
的文件,并检查php版本。
要修复5.3.0之前的php bersion中使用的脚本,请将第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';