【问题标题】:WAMP server: Calling a MySQL database through PHP filesWAMP 服务器:通过 PHP 文件调用 MySQL 数据库
【发布时间】:2014-12-31 11:42:20
【问题描述】:

我目前正在开发一个安卓应用程序。后端是用 PHP 编写的,从 android 应用程序获取输入并将其与 MySQL 数据库连接(类似于http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/)。

我的一个类文件(类似于上面链接中的UserFunctions.java)需要给出例如 url private static String loginURL = "http://10.0.2.2/android_api/index.php" 以便进行必要的通信。我的问题是我所有的 PHP 文件都在 \www 下的文件夹中,例如\www\blah\。我很确定我把我的 PHP 文件放在了错误的位置,因为链接(http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/ 的第 2 点)显示一些文件被放置在 \include\index.php 这个 \include\ 目录之外的文件中。

我应该将我的 PHP 文件放在哪里,以便我的文件结构使我的应用程序能够与 MySQL 数据库通信(例如定义为链接中的android_api)。

【问题讨论】:

  • 如果我是你,我会给 androidhive.info 一个广泛的铺位 - 大量的 SQL 注入漏洞,以及使用已弃用和未维护的数据库库。如果需要,可以使其安全 - 查看手册中的mysql_real_escape_string

标签: php android mysql sqlite wamp


【解决方案1】:

如果您使用 wamp,它可能位于 C:/wamp/www/android_api 中。 www 是网络根目录。如果你调用http://10.0.2.2/android_api/index.php,webserver 将在路径 C:/wamp/www/android_api 中查找文件 index.php

【讨论】:

  • 谢谢基伦。根据您的经验,尝试从 Web 浏览器(例如http://127.0.0.1/blah/index.php)运行 PHP 脚本时出现access denied 错误是否很自然?
  • 如果文件夹和文件存在并显示访问被拒绝,您必须检查apache配置文件.htaccess中是否定义了拒绝访问的规则
【解决方案2】:

我相当肯定您应用程序的所有 php 文件都应该在 www 中。

我目前没有使用 Java 开发,所以你可能需要摆弄我告诉你的内容,但我从外部应用程序访问 mysql 的方式是这样的:

连接到数据库并在 php 文件中执行查询。然后回显结果(必要时进行 JSON 编码)

然后在外部应用程序中,只需使用php文件的路径即可:

例如。 "http://localhost/your_script.php"

如果它位于 www 的根目录中,这将是您的 php 文件

请注意,您没有在路径中指定www

【讨论】:

  • 您好 Kyohei,感谢您的意见。我实际上已经让 PHP 脚本执行连接和查询工作,然后转换为 JSON,然后将其传递给 MySQL 服务器。我唯一的问题是知道将这些 PHP 文件放在哪里。
  • 基本上你把所有的 php 文件和子文件夹放在 wamp 的 www 目录中。然后从您的应用程序中使用的路径是:host = "server_ip_or_dns/my_php_file.php"
  • 您可能需要在 Apache 中编辑配置文件以允许从您的应用程序访问。
猜你喜欢
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2014-10-15
  • 2013-11-21
  • 1970-01-01
  • 2020-08-02
相关资源
最近更新 更多