היי,
אני מתכנת עם PHP ומשתמש עבור העבודה מול ה-DB ב-PDO. כאשר אני מריץ שאילתה כדי לדעת כמה שורות יש בטבלה (כדי לעשות עמודים לפי הצורך) אני מקבל את השגיאה הבאה:
קוד: |
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 84 bytes) in /home/southafr/public_html/blog.php on line 50 |
בזמן שאני מנסה להריץ שאילתא על טבלה ב-DB שלי אם אני מריץ את השאילתה ושולף את כל השורות מה-DB (כ-70,000 שורות).
כדי לדעת את מספר השורות אני עושה count (לא מצאתי פיתרון טוב יותר) ל-fetchAll והתוצאה היא כמות השורות.
חיפשתי בגוגל קצת לגבי הבעיה ומצאתי שאפשר לעבוד עם PDO::MYSQL_ATTR_USE_BUFFERED_QUERY בתור false אבל זה לא פותר לי את הבעיה, ברגע שאני עושה fetchAll זה יוצר לי את השגיאה הנ"ל. ובלי fetchAll התוצאה של ה-count היא 1.
מה אפשר לעשות (אם כדי לעשות את העימוד או כדי לתקן את הבעיה של הזיכרון)?
כמובן שאם משהו לא ברור אשמח להסביר