wamp服务器不工作?还是糟糕的php代码

wamp服务器不工作?还是糟糕的php代码,php,Php,我有以下PHP代码: <?php $username="root"; $password="******";// censored out $database="bazadedate"; mysql_connect("127.0.0.1",$username,$password); // i get unknown constant localhost if used instead of the loopback ip

我有以下PHP代码:

<?php
        $username="root";
        $password="******";// censored out
        $database="bazadedate";
        mysql_connect("127.0.0.1",$username,$password); // i get unknown constant localhost if used instead of the loopback ip 
        @mysql_select_db($database) or die( "Unable to select database");
        $query="SELECT * FROM backup";
        $result=mysql_query($query);
        $num=mysql_numrows($result);

        $i=0;
        $raspuns="";
          while ($i < $num) {
            $data=mysql_result($result,$i,"data");
            $suma=mysql_result($result,$i,"suma");
            $cv=mysql_result($result,$i,"cv");
            $det=mysql_result($result,$i,"detaliu");

            $raspuns = $raspuns."#".$data."#".$suma."#".$cv."#".$det."@";

          $i++;
          }

             echo "<b> $raspuns </b>";

        mysql_close();
?>
知道为什么它什么都不输出吗

$num=mysql_numrows($result);
应该是

$num=mysql_num_rows($result);
这至少是一个问题

您还应该查看mysql\u fetch\u assoc

# this will loop through each record
while($row = mysql_fetch_assoc($result)) {
    $data = $row['data'];
    $sum = $row['suma'];
    ....
}

您需要启用以查看发生了什么。。。编辑php.ini,并设置
错误报告=2147483647
显示错误=1
。然后再次运行脚本以检查所有错误

从日志片段中可以看出,处理请求的Apache子级正在被杀死,这会导致TCP连接立即关闭,您的浏览器将其视为“连接重置”

您可能希望调查对数据库连接使用“localhost”而不是“127.0.0.1”。MySQL对待“localhost”的方式不同于IP地址,并尝试通过套接字而不是TCP连接进行连接-这是一种速度优化,因为本地套接字比TCP套接字更快。您的MySQL安装可能没有侦听TCP连接(跳过\u networking=1)

此外,您永远不应该以根帐户的身份连接到数据库,尤其是当这是一个面向公众的站点时。根帐户可以访问MySQL中的任何内容,也可以在MySQL中执行任何操作,这不是您想要向世界公开的内容。阅读并创建一个具有有限权限的MySQL帐户,然后改用它。您的站点很可能只需要插入/更新/选择/删除


除此之外,更改您的查询获取逻辑以使用上面Lizard建议的内容,并开始进行一些调试—找出哪一行导致了错误,以及需要多少次迭代才能达到。您可能正在耗尽某种资源,从而扼杀Apache/PHP。

我已经多次遇到此错误,解决方案是增加Apache二进制文件(Apache.exe或httpd.exe)堆栈大小。您将需要VisualStudio来完成这项工作,但是您可以使用试用版,就像我所做的那样。你甚至不需要打开它。命令是:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64>editbin /STACK:8000000 "c:\Program Files (x86)\WAMP\apache\bin\apache.exe"
当然,根据您的环境更改上述路径

在Visual studio目录VC/binary/中,有几个名为editbin.exe的实用程序。使用一个适合你的平台,或者一个接一个地尝试,直到它起作用(就像我做的那样)

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64>editbin /STACK:8000000 "c:\Program Files (x86)\WAMP\apache\bin\apache.exe"