[英]Cannot connect to my hosting service's MySql database. NB
我是html / php领域的新手,但我已经在这里工作了几个小时。 我感到难过。
我正在尝试连接到将存储用户名和密码信息的sql数据库。 我使用Fortune City进行托管,并且已经使用了他们的phpAdmin来设置所有必需的东西(数据库,表等)。
我在侧面使用Zend的Eclipse。 我也在运行Sql Server和Apache 2.2。
我相信我的问题如下:
我有一个位于某个IP地址( 远程fortunecity服务器 )上的数据库,并且正在本地服务器上测试我的项目。 财富城市提供两种不同的主机名,一种用于内部连接,一种用于外部连接。 我从每个人那里得到不同的结果:
如果我连接到内部站点,则不会建立任何连接,由于我的die声明,我知道这一点。 如果我连接到外部主机,它将连接,但不允许我连接到数据库。 ( 请参见下面的代码案例 )
目前,我的流程如下。 ( 如果我做的事情很糟糕,请告诉我一个更好的方法,每次我这样做都会感到很脏!! )
请记住,我的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/)之类的本地文件中进行编辑,并在每次您将文件自动部署到服务器时使用救。
另外,如评论中所建议,使用框架进行开发通常会为您提供强大的数据库库,而无需您自己重新发明它。 (除非您想包装自己的东西!)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.