wamp服务器不工作?还是糟糕的php代码
我有以下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
$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"