Ich denke, das ist ein Python-MySQL-Fehler, aber ich kann die Situation nicht verstehen. Interner Fehler: Ungelesene Ergebnisse gefunden
P粉193307465
P粉193307465 2023-09-10 22:20:52
0
1
347

Das ist mein Flask-API-Code

from flask import request
from flask_restful import Resource
from mysql.connector import Error
from flask_jwt_extended import jwt_required, get_jwt_identity

from mysql_connection import get_connection

class OrderListResource(Resource):

    # 내 주문내역 조회 API
    @jwt_required()
    def get(self):

        userId = get_jwt_identity()
        offset = request.args.get('offset')
        limit = request.args.get('limit')

         # 기본값
        if not offset:
            offset = 0
        if not limit:
            limit = 20

        try:
            connection = get_connection()
            # 주문한 시간이 늦은 순으로 정렬
            query = '''
                    select *
                    from orders
                    where userId = %s
                    order by createdAt desc;
                    limit '''+offset+''', '''+limit+''';
                    '''
            record = (userId, )
            cursor = connection.cursor(dictionary=True, buffered=True)
            cursor.execute(query, record)
            result_list = cursor.fetchall()

            for row in result_list:
                row['reservTime'] = row['reservTime'].isoformat()
                row['createdAt'] = row['createdAt'].isoformat()
            
            cursor.close()
            connection.close()
        
        except Error as e:
            print(e)
            cursor.close()
            connection.close()
            return {'error' : str(e)}, 500

        return {'result' : 'success',
                'items' : result_list,
                'count' : len(result_list)}, 200

Ich habe es mit AWS Lambda bereitgestellt und mit Postman getestet. Im lokalen Zustand funktioniert es einwandfrei, aber der Server erhält „Internal Server Error“. Lokal AWS Lambda

Also habe ich mir die CloudWatch-Protokolle angesehen und die folgende Fehlermeldung erhalten:

[ERROR] InternalError: Unread result found

Das Seltsame ist, dass von allen APIs, die ich bereitgestellt habe, nur diese zu Fehlern geführt hat. Andere APIs funktionieren sowohl lokal als auch auf dem Server einwandfrei. Ich weiß also nicht, wo das Problem liegt.

Ich habe bufferd=True in Cursor() eingefügt, was die Lösung bei der Suche nach dem Fehler „Ungelesene Ergebnisse gefunden“ ist, aber es hat keine Auswirkung.

P粉193307465
P粉193307465

Antworte allen(1)
P粉982054449

我解决了这个问题!原因是;在查询中使用了两次。这是一个简单的问题,但在本地状态下运行正常,所以我找不到原因。对不起。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!