无法连接到我的主机服务's MySql数据库.NB


Cannot connect to my hosting service's MySql database. NB

我对html/php场景非常陌生,但我已经在这工作了几个小时。我被难住了。

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

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

我想我的问题是:

我有一个db位于某个ip地址(远程运气服务器),我正在本地服务器上测试我的项目。Fortune city提供两个不同的主机名,一个用于内部连接,一个用于外部连接。我从每一个得到不同的结果:

如果我连接到内部站点,它不会建立任何连接,我知道这是因为我的die语句。如果我连接到外部主机,它连接,但不允许我连接到数据库。(参见代码下面的大小写)

目前我的流程如下。(如果我做事效率低下,请告诉我一个更好的方法,我每次做都觉得很脏!!)

    创建或编辑我的index.php, login.php等在eclipse中。
  1. 复制我编辑的文件到我的Apache根目录。返回到eclipse并在浏览器"firefox"中运行该项目。"
  2. 重复n到n次。

请记住我的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.");

谢谢你看我的小说!

这能做到吗?本地测试,同时访问一个数据库在网上?

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

通常你想在你的本地机器上设置一个开发环境,或者你可以在像Aptana (http://www.aptana.com/)这样的地方编辑你的文件,并让它在每次保存时自动将你的文件部署到服务器。

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