Aşağıdaki kodu verildi:
// Connect to MySQL up here
$example_query = $database->prepare('SELECT * FROM table2');
if ($example_query === false) die('prepare failed');
$query = $database->prepare('SELECT * FROM table1');
$query->execute();
while ($results = $query->fetch())
{
$example_query = $database->prepare('SELECT * FROM table2');
if ($example_query === false) die('prepare failed'); //it will die here
}
Açıkçası iki tablo2 SELET her şeyi tablolarını girişimi. İkinci bir (WHILE'nden de bir), her zaman başarısız olur ve bir hata neden olur.
Bu yerde ayarlama çeşit olmalı yani hiçbir sorunları var Yerel olarak geliştirme, sadece benim üretim sunucusunda olduğunu.
Benim acil düşünce MySQL o 1'e ayarlandığında ayarı max_connections çeşit vardır ve WHILE döngü böylece tamamlanana kadar dışarı "hayır çok fazla zaten bağlı" ve palavra diyor yeni bir sorgu hazırlamak için çalıştığınızda bir bağlantısı açık tutulacaktır olduğunu .
Herhangi bir fikir?
EDIT: Evet ben sadece WHILE'nden hazırlanan alır benim gerçek kod, iki kez yapmak gerek yok biliyorum, ama dediğim gibi bazı testlerden sonra ben keşfettim ki benim üretim sunucusuna başarısız söyledi basit SEÇİN * sorgusu ama bunun dışında WHILE'nden başarısız. Ben verdim örnek kod, sadece sorunu göstermek için tabii ki çok sulanan aşağı olduğunu.