如何在Javascript和PHP中更新mysql,而不必在每次请求时启动新连接?

如何在Javascript和PHP中更新mysql,而不必在每次请求时启动新连接?,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,我有一些训练视频,其中我每秒更新一次数据库。我所看到的工作代码从JS到PHP再到Mysql都经过了几秒钟。我遇到的问题是,除非我对每个请求(每秒)启动一个新连接,否则它不会更新。有更好的办法吗?我的JS代码 //AJAX save 'seconds played' values to database function updatedb() { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else {

我有一些训练视频,其中我每秒更新一次数据库。我所看到的工作代码从JS到PHP再到Mysql都经过了几秒钟。我遇到的问题是,除非我对每个请求(每秒)启动一个新连接,否则它不会更新。有更好的办法吗?我的JS代码

//AJAX save 'seconds played' values to database
function updatedb() {
if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest();
} else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.open("GET","http://localhost/userupdate.php?q=" + userID + "&r=" +     (medeno[index][0]) + "&s=" + index, true);
xmlhttp.send();
}
和我的PHP代码(单独的file.PHP)


你说的是TCP连接吗?你怎么知道你每次都是这样开始的?大多数服务器/浏览器已经保持连接的活动状态。使用持久数据库连接可避免每个请求的连接创建开销。如果你的PHP安装不是CGI。很好的答案!持久连接对我来说是新的,本来是完美的,但Hostgator只允许持久连接15秒,然后将其切断。从第一个答案中,也许我可以从代码中删除$stmt->close()。
<?php

//Get values
$userID=$_GET['q'];
$secc=$_GET['r'];
$index=$_GET['s'];

$userID=(int)$userID;
$secc=(int)$secc;
$index=(int)$index;

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "medeno_user", "cr3134", "medeno_users");


//Update database 1 case per video course
switch ($index) {
    case 1: $stmt1=$mysqli->prepare('UPDATE users set videoSec1=? WHERE     userID=?'); break;
    case 2: $stmt1=$mysqli->prepare('UPDATE users set videoSec2=? WHERE userID=?'); break;
    case 3: $stmt1=$mysqli->prepare('UPDATE users set videoSec3=? WHERE userID=?'); break;
    case 4: $stmt1=$mysqli->prepare('UPDATE users set videoSec4=? WHERE userID=?'); break;
    case 5: $stmt1=$mysqli->prepare('UPDATE users set videoSec5=? WHERE userID=?'); break;
    case 6: $stmt1=$mysqli->prepare('UPDATE users set videoSec6=? WHERE userID=?'); break;
    case 7: $stmt1=$mysqli->prepare('UPDATE users set videoSec7=? WHERE userID=?'); break;
    case 8: $stmt1=$mysqli->prepare('UPDATE users set videoSec8=? WHERE userID=?'); break;}

$stmt1->bind_param('ii',$secc,$userID);
$stmt1->execute();
$stmt1->close();