无法连接到我的托管服务的MySql数据库。 NB

时间:2011-07-23 17:47:54

标签: php mysql

我非常喜欢html / php场景,但我已经在这里工作了好几个小时。我很难过。

我正在尝试连接到一个存储用户名和密码信息的sql数据库。我使用财富城进行托管,我已经使用他们的phpAdmin来设置所有必要的东西(db ,表等..)。

我正在使用Eclipse和Zend。我也在运行Sql Server和Apache 2.2。

我认为我的问题如下:

我有一个位于某个IP地址的数据库(远程fortunecity服务器),我正在本地服务器上测试我的项目。财富城提供两种不同的主机名,一种用于内部连接,另一种用于外部连接。我从每个人得到不同的结果:

如果我连接到内部网站它没有任何连接,我知道这是因为我的死亡声明。如果我连接到它连接的外部主机,但不允许我连接到数据库。 (查看代码下面的案例)

目前我的流程如下。 ( PLEASSSSE告诉我一个更好的方式,如果我做得不够,我每次都会感觉很脏!!

  1. 在eclipse中创建或编辑我的index.php,login.php等...
  2. 将我编辑的文件复制到我的Apache root。
  3. 回到eclipse并在浏览器“firefox”中运行该项目。
  4. 重复n次n次。
  5. 请记住我的sql数据库位于网络上

    可以这样做吗?在网上访问数据库时进行本地测试?

    以下是代码:

    <?php
    
    if (!isset($_POST['username']) || !isset($_POST['password'])) {
    header( "Location: http://localhost/index.php" );
    }
    
    elseif (empty($_POST['username']) || empty($_POST['password'])) {
    header( "Location: http://localhost/index.php" );
    }
    else{
    
    $user = addslashes($_POST['username']);
    $pass = md5($_POST['password']);
    
    
    $dbHost = "mysql3341.dotsterhost.com";
    $dbUser = "*********";
    $dbPass = "******";
    $dbDatabase = "**********";
    
    
    $db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("Error connecting to database.");
    
    mysql_select_db("$dbDatabase", $db) or die ("Couldn't select the database.");
    
    $result=mysql_query("select * from userInfo where username='$user' AND password='$pass'", $db);
    
    
    $rowCheck = mysql_num_rows($result);
    if($rowCheck > 0){
    while($row = mysql_fetch_array($result)){
    
    
    
    session_start();
    session_register('username');
    
    
    echo 'Success!';
    
    
    header( "Location: checkLogin.php" );
    
    }
    
    }
    else {
    
    
    
    echo 'Incorrect login name or password. Please try again.';
    }
    }
    ?> 
    

    同样,我从来没有过去

    案例:1 $db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("Error connecting to database.");

    案例:2 mysql_select_db("$dbDatabase", $db) or die ("Couldn't select the database.");

    感谢您阅读我的小说!

1 个答案:

答案 0 :(得分:1)

  

可以这样做吗?在网上访问数据库时进行本地测试?

是的,你可以,但要注意,如果你在数据库中存储任何敏感信息,你可能不希望通过网络发送未加密的数据。 (除非您通过VPN或其他类型的安全网络连接进行连接。)

通常您需要在本地机器上设置开发环境,或者您可以在Aptana(http://www.aptana.com/)等本地编辑文件,并自动将文件部署到服务器每次你保存。

此外,正如评论中所建议的那样,使用框架进行开发通常会为您提供功能强大的数据库,而无需自行重新构建。 (除非你想包装自己的!)