0

解決方法がわからない奇妙な問題に遭遇しました。Angular、PHP Slim Restful API、MySQL db を使用しています。

私の 2 つの db テーブルには 1k + 行があります。

これらのテーブルにクエリを実行しようとすると、Angular から 500 内部サーバー エラーが発生します。テーブルの行数を 50 未満に落とすと、クエリはエラーなしで機能します。

ただし、ローカル ドライブ (開発サイト) にいるときは、1k + 行のテーブルを問題なくクエリできます。

なぜこれが起こっているのか、解決策はありますか?

編集: これは、データベースを照会するコードです。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;
4

0 に答える 0