首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行长轮询时数据库错误

问执行长轮询时数据库错误
EN

Stack Overflow用户
提问于 2013-09-28 00:28:57
回答 1查看 214关注 0票数 0

我仍然学习使用ajax进行长轮询,并且很少从本文这里和管理代码中找到几个例子来完成它:

代码语言:javascript
复制
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);
            }

        } 
    }); 
}

但是,在这段代码运行后不久,我收到了一长串错误消息,告诉数据库无法连接:

警告:在第2行的C:\xampp\htdocs\mynewproject\db_connection.php中,mysql_connect() function.mysql- connect : 2002只使用一个套接字地址(协议/网络地址/(试图通过tcp://localhost:3306连接)

之后,我无法在本地主机上打开phpMyAdmin (我必须重新启动计算机)。

有人能告诉我如何更好地保持与数据库的良好连接,以便进行长时间轮询,或者在ajax超时运行完毕并自我重复之前,如何清除/停止ajax调用的成功回调?

任何建议都非常感谢,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-09-28 00:47:51

您应该查看您的httpd.conf或.htaccess,并找到一个名为keepalivetimeout的设置,并将其设置为minimum 而不是 maximum。然后重新启动本地服务器。如果在任何一个文件中都不存在它,则需要将其添加到其中。(阅读更多)

现在,对于数据库处理,您可能应该使用类似于mysqli的类,因为mysql的开发已经停止。

代码语言:javascript
复制
<?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);

?>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19061973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档