【发布时间】:2014-12-04 05:57:20
【问题描述】:
我有以下课程
--------------------------------------------- CRUD Code Snippet--------------------
class CRUD{
function __construct(){
$this->db_user = "user_name";
$this->db_pass = "user_password";
$this->db_name = "myDb";
$this->host = "localhost";
}
//connect() function to connect to database
private function connect(){
try{
$pdo_Options = array(PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
$this->con = new PDO("mysql:host={$this->host};dbname={$this->db_name};charset=utf8", $this->db_user, $this->db_pass, $pdo_Options);
}catch(PDOException $ex){
return $ex->getMessage();
$this->tempVar = $ex->getMessage();
}
}
----------- The following method creates problems when updating record --------------
public function dbQuery($sql,$bindVars=array()){
try{
$this->connect();
$statement = $this->con->prepare($sql);
$statement->execute($bindVars);
if($statement->rowCount() > 0){
return true;
}
else{
return false;
}
$this->con = null;
}catch(PDOException $exc){
$this->tempVar = $exc->getMessage();
$this->sqlToReturn = $sql;
return false;
}
}
}//CRUD
-------------------------------------------------------------------
该函数运行得非常好,它完美地执行了它的工作,但在执行一定时间后 MySql 数据库挂起并停止响应。上述函数dbQuery()调用的页面代码,耗时120秒后显示错误。在我的场景中,该软件运行在一个巨大的网络上,并且有 apx: 300 个并发用户,他们正在插入、更新、搜索和删除数据库中的记录。具有 apx 的数据库:300000 条记录。 我已经在 Windows 8.1 64 位上安装了 WAMP 服务器。 MySql 版本是:5.6.20,在 T110-II Power Edge Xeon 服务器机器上。
我没有找到/诊断为什么会出现这个问题?
请指导我,因为我真的很担心这个问题。
【问题讨论】:
-
提供错误信息以便更好地理解您的问题
-
打开一个页面需要几分钟。它也失败了,有时它会显示上述错误,或者经常显示 最大时间限制达到 120 ...
-
您在mysql查询中遇到的问题,请提供或自行检查。看看this和this one(Why this interruption will happen?)
-
$bindUpdat = array(':sno'=>$caseId); if($db->dbQuery("Update chronologicallists set isOut = 1 where caseSno = :sno AND isDecided = 1 AND isCurrent = 1",$bindUpdat)){ }
标签: php jquery mysql networking pdo