【问题标题】:How to connect to remote MYSQL database via php如何通过php连接到远程MYSQL数据库
【发布时间】:2013-08-26 10:36:28
【问题描述】:

我必须构建一个连接到远程 MYSQL 网络服务器并检索信息以供显示的 Android 应用程序。 所以我做了研究,因为我不知道从哪里开始。我读了一篇文章,它提到了更好的方法是使用 php 脚本。并且对服务器、数据库和php的工作原理一无所知,所以我从这里“http://www.homeandlearn.co.uk/php/php12p1.html”学习了php来了解并下载了WhampServer做一些测试。在本地机器上一切正常。 但主要我不明白的是“如何连接到远程服务器/数据库”。 很明显,我在做一些非常愚蠢的事情,我只需要帮助找出我做错了什么。 当我们在本地机器上用 webbrowse 测试 php 脚本时,我们使用“localhost/some.php”。但是,当我想从本地机器上测试远程服务器上的相同 php 脚本时,我应该怎么做?我需要在服务器端对配置文件进行一些更改吗? 在问这个问题之前我已经做了更多的研究,以了解 php 中的远程服务器连接,但我仍然不明白。我浏览了以下链接中的几乎所有页面: https://www.google.co.uk/search?q=connect+to+remote+mysql+webserver+php&rlz=1C1AVSX_enGB447GB448&oq=connect+to+remote+mysql+webserver+php&aqs=chrome.0.69i57j69i62l3.19724j0&sourceid=chrome&ie=UTF-8#fp=5a2359cf96dc5f79&q=how+to+connect+to+remote+mysql+web+server+php

我们将不胜感激。 如果我的问题不清楚,请告诉我,我会尽力解释更多。或者把它想象成你必须连接到远程 MySQL 服务器你会怎么做,这意味着其中涉及的过程和步骤是什么。 谢谢大家。

编辑

我在远程服务器上创建了一个数据库“dealt3_raj_test”。当我在我的网络浏览器中输入“examplewebserver.CO.UK/myphpscriptname”时。 它给了我错误“发生错误,您已到达错误页面”

<?PHP   
$user_name = "dealt3_raj";  
$password = "5dN5nh&eMd(vCR$dzk";  
$database = "dealt3_raj_test";  
$server = "examplewebserver.CO.UK";  
$db_handle = mysql_connect($server, $user_name, $password);  
$db_found = mysql_select_db($database, $db_handle);  
if($db_handle)    
{         
    print "Connected";  
}  
else  
{  
    print "Can not connect to server";  
}         
if ($db_found)   
{ 
     print "DataBase found";  
}  
else   
{  
    print "DataBase not found";  
}  
?>

【问题讨论】:

  • 你试过什么代码?结果是什么?
  • 与本地 MySQL 连接方式相同,只需更改主机和凭据即可。确保远程 MySQL 接受来自您的主机的连接。
  • @Alma Do Mundo - 我已经发布了代码,你认为代码有什么错误吗?
  • @user2314699 - 对于mysql_* 函数,使用mysql_error() 来显示错误。一般来说,不要使用 mysql_* 函数 - 它们已被弃用。
  • @Alma Do Mundo - 谢谢,根据您的建议,我在这里检查了“php.net/manual/en/function.mysql-connect.php”,但我的问题仍然相同。我需要将该脚本放在远程服务器上吗?

标签: php mysql remote-server mysql-connect


【解决方案1】:

添加到@user4035 的注释,打开连接后,在您的Android/Java 代码中使用JDBC 与数据库进行交互。

也就是说,这不是一个好习惯。而是创建一个网络服务

  1. 您的应用程序可能会遇到延迟/连接问题。这会影响性能。
  2. 您的 MySQL 服务器必须对远程连接开放,即strongly advised against
  3. 如果您的 Android 应用程序旨在供公众使用,这意味着您的 MySQL 服务器的数据库用户名和密码驻留在使用您的应用程序的每个人的手机上。无论是否加密,这都会使您的数据库服务器“少一步”安全

Well answered here on SO适用于 Android 的 JDBC 与 Web 服务

【讨论】:

  • 呃……什么? User4035 从未回答过这个问题,而且这个问题与 Java 无关。错误的标签?
  • 错了。安卓就是 Java。引用提问者“...我必须构建一个连接到远程 MYSQL 网络服务器并检索信息以用于显示目的的 android 应用程序。所以我做了研究,因为我不知道从哪里开始。我读了一篇它提到的更好的文章这样做的方法是使用 php 脚本......”据我了解,PHP 解决方案是次要的,如果不是被他/她误解(他/她)对他/她的主要问题“如何连接到远程服务器/数据库”
  • 我仍然对“添加到@user4035 的答案”部分感到困惑
  • 啊,知道了 - user4035 发表了评论,而不是答案。编辑澄清并解锁我的投票
  • 谢谢。我的错误,user4035 发表了评论。不是答案
【解决方案2】:

使用此代码连接数据库

    $username = "database user name";
    $password = "DB password";
    $hostname = "hostname";
    //connection to the database
    $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
    //select a database to work with
    $selected = mysql_select_db("data base name",$dbhandle) or die("Could not select examples");

【讨论】:

  • 不要发布带有mysql_*函数的代码,它们已被官方弃用
  • 另外,or die 是在生产服务器上处理错误的一种非常糟糕的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2013-02-13
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多