我遇到了一个奇怪的问题,我不知道如何解决。我正在使用Angular,PHP Slim Restful API,MySQL db。
我的两个数据库表有1k +行。
当我尝试查询这些表时,我从Angular获得了500内部服务器错误。如果我将表行删除到50以下,查询将无错误地运行。
然而,当我在我的本地驱动器(开发站点)时,我可以用1k +行查询表,没有任何问题。
有没有人知道为什么会发生这种情况并提供解决方案?
编辑: 这是查询db的代码。 while循环不运行
try{
$a = array();
$w = "";
$row_data = array();
foreach ($where as $key => $value) {
$w .= " and " .$key. " like :".$key;
$a[":".$key] = $value;
}
$stmt = $this->db->prepare("select ".$columns." from ".$table." where 1=1 ". $w);
$stmt->execute($a);
//$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$row_count = $stmt->rowCount();
syslog(LOG_WARNING, "DATA COUNT= ".print_r($row_count,true));
if(count($row_count)<=0){
syslog(LOG_WARNING, "DATA NO ROWS");
$response["status"] = "warning";
$response["message"] = "No data found.";
}else{
$response["status"] = "success";
$response["message"] = "Data selected from database";
syslog(LOG_WARNING, "DATA HAVE ROWS");
===================
while ($rows = $stmt->fetch(PDO::FETCH_ASSOC)) {
$row_data[] = $rows;
}
===================
syslog(LOG_WARNING, "DATA JASON= ".print_r($row_data,true));
$response["data"] = $row_data;
}
syslog(LOG_WARNING, "DATA END");
}catch(PDOException $e){
$response["status"] = "error";
$response["message"] = 'Select Failed: ' .$e->getMessage();
$response["data"] = null;
}
return $response;