Jitřní země (www.jitrnizeme.cz hostovala na serveru s nastaveným safe_mode=off a vzhledem k velmi špatným zkušenostem s přetíženým serverem (průměrně 50 výpadků databáze) jsme požádali o pčesun na méně vytížený server. Přesun proběhl v noci z 1.11. na 2.11.2006 a ztratila se při něm z webu celá řada článků, komentářů i diskusních příspěvků ve fóru. Okamžitě po zjištění této ztráty jsme požádali podporu na banan.cz o nápravu. Zatím bezvýsledně.
ALE! Tak tady máme zazálohované to doporučení technické podpory banan.cz
Tedy, všichni kdo máte problém s databází na jejich serverech, zde je oficiální řešení:
Jedná se o standardní chování MySQL serveru. Příkaz mysql_query vrátí hodnotu "false", proto následuje při příkazu mysql_fetch_array hláška, že "false" není validní mysql zdroj dat. Důvodů, proč MySQL server vrátí false může být celá řada. Zpoždění, přetížení, náhodné souhry událostí apod. Proto se doporučuje vytvořit si takovou funkci, která kontroluje, jestli dotaz nevrátil hodnotu "false". Pokud ano, zopakuje dotaz, pokud ne, vrátí výsledek. Pokud si nastavíte, aby se dotaz opakoval maximálně třeba 3x, bude celá Vaše aplikace značně stabilnější a ustojí chvilkovou nedostupnost. Již byste neměl zmíněné problémy.
Např. takto:
$cit_smycky=0;
do {
$nacist = MySQL_Query($sql);
$cit_smycky++;
}
while ($nacist == false && $cit_smycky < 1000);