Jquery 执行长轮询AJAX时发生数据库错误
我仍在学习使用ajax进行长轮询,从本文中找到的示例很少,也没有管理代码:Jquery 执行长轮询AJAX时发生数据库错误,jquery,ajax,database,long-polling,Jquery,Ajax,Database,Long Polling,我仍在学习使用ajax进行长轮询,从本文中找到的示例很少,也没有管理代码: function poll() { var email = 'foo@yahoo.com'; $.ajax({ type: "post", url: "testlongpolling.php", data: "email="+email, dataType:'json', complete: poll, timeout: 30000, success
function poll() {
var email = 'foo@yahoo.com';
$.ajax({
type: "post",
url: "testlongpolling.php",
data: "email="+email,
dataType:'json',
complete: poll,
timeout: 30000,
success: function(result){
if(/(yes)/.test( result.status ))
{
$('#status').html(result.name);
}
else
{
$('#status').html(result.name);
}
}
});
}
但是,运行此代码后不久,我收到一长串错误消息,告诉数据库无法连接:
警告:mysql_connect()[function.mysql connect]:[2002]每个套接字地址(协议/网络地址/(尝试通过tcp://localhost:3306)在第2行的C:\xampp\htdocs\mynewproject\db\u connection.php中
之后,我无法在本地主机中打开phpMyAdmin(我必须重新启动计算机)
有谁能告诉我如何更好地保持与数据库的良好连接以进行长时间轮询,或者我如何在ajax超时结束之前清除/停止成功回调中的ajax调用并自己重复它
非常感谢您的任何建议。您应该查看您的
httpd.conf
或.htaccess
,找到名为keepalivetimeout
的设置,并将其设置为最小值非最大值。
然后重新启动本地服务器。如果这两个文件中都不存在本地服务器,则需要将其添加到其中。()
现在,对于数据库处理,您可能应该使用类似于mysqli的类,因为mysql的开发正在停止
<?php
// Start new mysqli
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
// Check if the connection failed
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
// Run a query
$query = "SELECT * FROM `users` WHERE `$email`='$email'";
$result = $mysqli->query($query) or die($mysqli->error . __LINE__);
// Loop through the data
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo stripslashes($row['username']);
}
} else {
echo 'NO RESULTS';
}
// CLOSE CONNECTION
mysqli_close($mysqli);
你的php文件是什么样子的?帮助我们解决这个问题。这是我的php代码:db_connection.php的代码是什么,这就是错误的来源。这是我的数据库连接代码:嗨,@dbh谢谢你的回答。我设法找到了“KeepAliveTimeout”设置在httpd.default.conf中,但它说我必须输入数字,而不是字符串“minimum”。你能告诉我应该输入什么数字吗?@ani读一下