MySQL DB连接错误

我一直在使用Flash Builder(testing版2),试图让一些PHP服务连接起来。 假设没有打嗝,FB通过简单的死亡。 但是现在我已经打了几天了。

我正在运行最新的WAMP安装,只有一个修改如下(全新安装)在WinXPSP2上。

总结一下,我有一个非常简单的数据库表设置,主键+其他4个字段。 我有一个示例PHP服务设置为与MySQL沟通并接收表格行数据。 但是,不pipe我是通过FB尝试连接,还是只运行一个使用相同PHP服务的test.php,我都会从MySQL获取这些错误:

**Warning: mysqli_connect() [function.mysqli-connect]: MySQL server has gone away in C:\wamp\www\PHPService\services\EmployeeService.php on line 33 Warning: mysqli_connect() [function.mysqli-connect]: Error while reading greeting packet. PID=1024 in C:\wamp\www\PHPService\services\EmployeeService.php on line 33 Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2006): MySQL server has gone away in C:\wamp\www\PHPService\services\EmployeeService.php on line 33 Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\PHPService\services\EmployeeService.php on line 27** 

正如在Adobe FB论坛上所build议的,我尝试增加默认的“max_execution_time = 30;” 在php.ini高达120,240,然后按顺序360。 没有雪茄。

这个URL: http : //www.codefinger.co.nz/_etc/mySQLError.zip包含;

  • MySQL数据库表我正在使用
  • EmployeeService.php看到我上面的错误
  • test.php,与EmployeeService.php在同一个文件夹中

任何帮助表示赞赏,我不是MySQL或PHP的wiz,所提供的一切都来自Adobe的在线示例材料,我所做的只是放在我自己的数据库细节和“EmployeeService.php”的改变版本,以反映我试图从MySQL获得的数据。

如果你热衷于帮助,而且我还没有包含一些重要的日志或者其他东西,那么只需要提醒一下,或者让我知道在哪里可以find你需要解决的问题。

干杯,丹吉

我应该注意到,在'EmployeeService.php'你会看到我注释了用户名/ pswd设置,只是为了testing这是一个问题,我已经尝试了与正确的信用虽然(注释的)。 testing时,我也暂时closures防火墙, 耸耸肩

问题是连接到你的MySQL服务器。 你可以通过phpMyAdmin连接,对吗? 所以MySQL本身似乎连接正确。

看着你的代码,这看起来非常可疑:

  var $server = "localhost"; var $port = "80"; 

端口3306是默认的MySQL端口,但你可能已经configuration你的其他东西运行,我不知道。 但是在80端口上运行MySQL将非常愚蠢,因为这是HTTP的端口。 我假设你有一个运行在该端口上的web服务器(Apache),因为你提到了WAMP。 除非你改变了Apache运行在不同的端口,这将是更加奇怪的。

在debugging和反复试验之后,我发现罪魁祸首就是在连接到MySQL数据库时包含了“端口号”。

通过删除端口参数,一切工作。

港口arg显然是有原因的,所以没有任何人不知道,有人可以告诉我为什么端口号(值为80)导致这些错误? PHPinfo告诉我端口80正在被监听,而且我甚至在防火墙下试了一下。

端口80是http,端口3306(默认)是MySQL监听的地方,如果你要让php连接到80端口的mysql服务器,那么这就解释了为什么你不能连接。 删除端口参数,并让它使用默认值将解释为什么它的工作。