2012-05-28 61 views
1

因此,当我试图连接到我的数据库远程时,我不断收到此错误。奇怪的是它适用于像1/2查询(s)一分钟,但然后在那些查询后停止工作,并给出这个错误信息。这只是随机发生的,在它以前每秒处理许多查询之前都是很好的。警告:mysql_connect()[function.mysql-connect]:无法连接到MySQL服务器

详情:

  • 即时通讯使用XAMPP主办我的数据库
  • 细节连接到数据库是正确的

任何想法可能会发生什么?的代码

实施例(这是我使用以测试连接的代码):

   $connection = mysql_connect('IP', 'DATABASE PASSWORD', 'PASSWORD', 'DATABSE NAME') or die(mysql_error()); 
       if (!$connection) 
        die('Not connected : ' . mysql_error()); 

       $db_selected = mysql_select_db('DATABSE NAME', $connection); 
       if (!$db_selected) 
        die ('Can\'t use : ' . mysql_error()); 

       $string = mysql_query("SELECT * FROM `characters` WHERE `name` LIKE 'gil'") or die(mysql_error()); 
       if($result = mysql_fetch_assoc($string)) 
        echo $result['name']; 

完整错误代码:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'IP' (4) in /vhosts/DOMAIN/httpdocs/test.php on line 1 
Can't connect to MySQL server on 'IP' (4) 
+2

听起来像是你在呼唤'的mysql_connect()'每个查询,这是不必要的了。您应该在脚本的顶部调用一次。虽然真的你应该永远不要这样称呼它,并使用PDO或MySQLi。 – DaveRandom

+0

我们看到的任何代码示例? – Nico

+0

请附上完整的错误字符串和一段PHP代码 – dAm2K

回答

2

您到mysql_connect指定错误的参数:

mysql_connect('IP', 'DATABASE PASSWORD', 'PASSWORD', 'DATABSE NAME') 

应该是:

mysql_connect('server address', 'user name', 'password') 

See the docs for more info.

+1

仍然发生,事情是当我尝试从另一台计算机远程访问数据库它工作正常只是不工作从我的云服务器之一。 –

+1

@Gil:您需要允许来自cPanel或网站控制面板的云服务器的IP地址。请联系您的服务器支持团队,了解如何将数据库的云服务器IP列入白名单。 – Sarfraz