Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将应用程序与Ubuntu服务器上的SQL server连接_Php_Sql - Fatal编程技术网

Php 将应用程序与Ubuntu服务器上的SQL server连接

Php 将应用程序与Ubuntu服务器上的SQL server连接,php,sql,Php,Sql,也许我应该在Ubuntu部分问这个问题,但是我真的不知道问题出在哪里,所以我先在这里试一下 我正在尝试学习如何通过Web服务器使用SQL数据库,我使用了本教程: 我已经完成了教程中的所有工作,但我使用的是Ubuntu服务器,而不是windows 问题是应用程序无法显示或创建数据库中的任何条目。我使用PHPMyAdmin来管理SQL数据库 1。所以我的主要问题是:WAMP和LAMP之间有什么区别吗?或者我可以使用相同的方法吗? 如果答案是肯定的,那么我还有一些问题: 我正在使用服务器/var/ww

也许我应该在Ubuntu部分问这个问题,但是我真的不知道问题出在哪里,所以我先在这里试一下

我正在尝试学习如何通过Web服务器使用SQL数据库,我使用了本教程:

我已经完成了教程中的所有工作,但我使用的是Ubuntu服务器,而不是windows

问题是应用程序无法显示或创建数据库中的任何条目。我使用PHPMyAdmin来管理SQL数据库

1。所以我的主要问题是:WAMP和LAMP之间有什么区别吗?或者我可以使用相同的方法吗?

如果答案是肯定的,那么我还有一些问题:

  • 我正在使用服务器/var/www/的默认位置,并且已经将所有的.php文件都放在那里了?对吗
  • 当他创建db_config.php时,他使用“localhost”,但我想使用我的ip,我是否只需要将“localhost”更改为“81.xxx.xxx.xxx”,还是需要添加更多内容
  • 正如您所看到的,我不确定问题出在哪里,是教程和LAMP服务器之间的兼容性而不是WAMP,还是连接的配置、php代码中的某些内容、php文件的位置或其他什么

    这太令人沮丧了,因为我不知道从哪里开始

    提前谢谢你

    编辑: 我可以访问服务器上的php文件,因此没有问题。 这是在尝试列出所有项目时从我的access.log文件中得到的:
    [09/Oct/2013:16:56:07+0200]“GET/var/www/GET_all_products.php?HTTP/1.1“404450”-“Apache HttpClient/UNAVAILABLE(java 1.4)”
    这就是我尝试创建新产品的时候:
    [09/Oct/2013:19:26:14+0200]“POST/var/www/create_product.php HTTP/1.1“404448”-“Apache HttpClient/UNAVAILABLE(java 1.4)”

    当尝试列出所有项目时,如果从error.log文件中删除此项:
    [Wed Oct 09 17:01:51 2013][error][client 81.225.106.145]文件不存在:/var/www/var
    我在尝试创建新产品时也会遇到同样的错误


    你们能从中得到些什么吗?

    WAMP/LAMP之间有什么区别吗?或者我可以使用相同的方法吗?

    是的,两者之间存在差异——主要与网络和安全有关。但是,没有理由该教程中的代码不适用于Ubuntu

    首先,您是否在同一台Ubuntu机器上同时运行web服务器和数据库?如果是这样,您可以保留“localhost”条目—如果web服务器和数据库位于不同的计算机上,则需要指定IP地址。如果所有的东西都在同一台服务器上,这只会使事情变得复杂,当您的IP地址发生变化时就会中断。您当然不应该使用公共IP地址(如81.*),因为这样您的web服务器流量可能会通过internet路由到您的数据库

    其次,如果PHPMyAdmin与web应用程序运行在同一台服务器上,原则上从web服务器连接到数据库是没有问题的


    第三,您是否尝试过在浏览器中访问URL以查看它们是否正常工作?如果这不起作用,应用程序也无法访问它们。本教程提到
    http://api.androidhive.info/android_connect/get_all_products.php
    -您可能已将其更改为
    http://IPAddressOfUbuntuServer/android_connect/get_all_products.php
    。首先看看你是否可以通过浏览器访问这个URL(为了让它运行,你应该把你的文件放在/var/www/android_connect中),然后弄清楚发生了什么。一旦成功,试着在Android设备上的浏览器中访问它;如果这样做有效,应用程序也应该如此

    非常感谢你帮助我。1.是的,你是对的。将其更改回“localhost”。2.是的,它们在同一台服务器上。3.是的,这很有效。运行应用程序并尝试创建新产品时,我从LogCat中得到以下错误:
    error解析数据org.json.JSONException:Value,听起来好像服务器正在向手机发回手机不喜欢的响应。尝试将响应记录到LogCat中,看看发生了什么。是的,上面的文本是我从LogCat得到的错误消息,但我不知道它是什么意思。啊-我刚刚看了教程中的代码,这似乎是JSON解析器的一个相当常见的问题。使用这个问题中的一个工具重新创建POST请求,看看响应是什么。好的,今晚我们来看看!