Baza zawiera 2 tabele:
1) cmentarze - opisy cmentarzy (1000 wierszy)
2) polegli - wykaz poległych pochowanych na w/w cmentarzach (11000 wierszy)
Skrypt wyświetla na stronie zawartość tabeli 1), czyli krótki opis oraz generuje tabelę z poległymi - zawartość tabeli 2). Niby proste, przykład operacji na bazie ściągnęty z przykładów w internecie, niby powinno działać, a co jakiś czas baza blokuje się z powodu błędu #1226 - User has exceeded the 'busy_time' resource (current value: 600000000).
Poniżej zamieszczam trochę odchudzony o pierdoły skrypt. Może ktoś znajdzie błąd zapętlania, zbyt długiego wykonywania zapytań, powodujących ów bład bazy.
Czy operacje na bazie w sekcji HEAD mają wpływ i znaczenie??
<html><head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<?
$lng = $_GET['lng'];
if ($lng=='') { $lng = 'pl'; }
switch ($lng) {
case 'en':
require_once("english.php");
break;
//TU KILKA CASE
}
$username = '*******';$password = '*******';$database = '*******';
$m = $_GET['m'];
$order = $_GET['order'];
$order1 = 'nazwisko';
switch ($order) {
case 'n':
$order1 = 'p.nazwisko';
break;
//TU KILKA CASE DLA WYBORU PORZĄDKU SORTOWANIA
}
//POŁACZENIE Z BAZĄ DLA ODCZYTANIA DANYCH CMENTARZA
$link = mysql_connect('sql.tgcp.nazwa.pl:3306', $username, $password) or die('Nie można'. mysql_error());
@mysql_select_db($database) or die("Nie udało..");
$result=mysql_query("SELECT * FROM cmentarz WHERE id = ".$m);
$rek = mysql_fetch_array($result);
mysql_close($link);
mysql_free_result ($result);
$id=$rek["id"];
$nazwa=$rek["nazwa"];
(...) //TU PODOBNE PRZYPISANIE KILKU DANYCH
//TU KILKA LINIJEK PHP WSTAWIAJĄCYCH TEKST Z PLIKU
?>
//TU SKRYPT MAPKI Z GOOGLE
<script src="http://maps.google.com/maps</script>
<script type="text/javascript">
</head>
<body //USTAWIENIA onload="load()" onunload="GUnload()">
<table>
<tr><td><b><? echo $l_lokalizacja2; ?>:</b></td><td><? echo $lokal; ?></td>
<tr><td><b><? echo $l_kategoria; ?>:</b></td><td><? echo $kat; ?></td></tr>
<tr><td><b><? echo $l_opis; ?>:</b></td><td><? echo $tekst; ?></td></tr>
<tr><td><b><? echo $l_opracowanie; ?>:</b></td><td><? echo $opr; ?></td></tr>
<tr><td><b><? echo $l_nazwisk1; ?>:</b></td><td>
<?
//TU ODCZYT NAZWISK POLEGŁYCH
$link = mysql_connect('sql.tgcp.nazwa.pl:3306', $username, $password) or die('Nie można..' . mysql_error());
@mysql_select_db($database) or die("Nie udało...");
$result=mysql_query("SELECT * FROM polegli p, cmentarz c WHERE miejsce_p='$m' AND
c.id=p.miejsce_p ORDER BY ".$order1);
//POBRANIE LICZBY WIERSZY = LICZBY POLEGŁYCH
$num=mysql_numrows($result);
if ($num==0) {
echo $l_nazwisk2;
echo "</td></tr>";
echo "</table><br>";
} else {
echo $num
?>
//DOMKNIĘCIE POPRZEDNIEJ TABELI
</td></tr>
</table><br>
//TABELA WŁAŚCIWA
<table>
<tr>
<th><? echo $l_nazwisko; ?></th>
<th><? echo $l_imie; ?></th>
<th><? echo $l_stopien; ?></th>
<th><? echo $l_jednostka;</th>
<th><? echo $l_m_smierci; ?></th>
<th><? echo $l_d_urodzenia; ?></th>
<th><? echo $l_m_urodzenia; ?></th>
<th><? echo $l_uwagi; ?></th>
</tr>
//POCZĄTEK PĘTLI WYPEŁNIAJĄCEJ TABELĘ
<?
while ($rek = mysql_fetch_array($result))
{
$nazwisko=$rek["nazwisko"];if ($nazwisko==null) {$nazwisko='-';}
$imie=$rek["imie"];if ($imie==null) {$imie='-';}
$stopien=$rek["stopien"];if ($stopien==null) {$stopien='-';}
$jednostka=$rek["jednostka"];if ($jednostka==null) {$jednostka='-';}
$data_s=$rek["data_s"];if ($data_s==null) {$data_s='-';}
$miejsce_s=$rek["miejsce_s"];if ($miejsce_s==null) {$miejsce_s='-';}
$miejsce_u=$rek["miejsce_u"];if ($miejsce_u==null) {$miejsce_u='-';}
$data_u=$rek["data_u"];if ($data_u==null) {$data_u='-';}
$uwagi=$rek["uwagi"];if ($uwagi==null) {$uwagi='-';}
?>
<tr>
<td><? echo $nazwisko; ?></td>
<td><? echo $imie; ?></td>
<td><? echo $stopien; ?></td>
<td><? echo $jednostka; ?></td>
<td><? echo $data_s; ?></td>
<td><? echo $miejsce_s; ?></td>
<td><? echo $data_u; ?></td>
<td><? echo $miejsce_u; ?></font></td>
<td><? echo $uwagi; ?></td>
</tr>
<?
}
echo "</table></center>";
}
mysql_free_result($result);
mysql_close($link);
?>
//TU PARĘ LINIJEK PHP WSTAWIAJĄCYCH ZDJĘCIA
</body>
</html>
Skrypt wyświetla na stronie zawartość tabeli 1), czyli krótki opis oraz generuje tabelę z poległymi - zawartość tabeli 2). Niby proste, przykład operacji na bazie ściągnęty z przykładów w internecie, niby powinno działać, a co jakiś czas baza blokuje się z powodu błędu #1226 - User has exceeded the 'busy_time' resource (current value: 600000000).
Poniżej zamieszczam trochę odchudzony o pierdoły skrypt. Może ktoś znajdzie błąd zapętlania, zbyt długiego wykonywania zapytań, powodujących ów bład bazy.
Czy operacje na bazie w sekcji HEAD mają wpływ i znaczenie??
Poniżej zamieszczam trochę odchudzony o pierdoły skrypt. Może ktoś znajdzie błąd zapętlania, zbyt długiego wykonywania zapytań, powodujących ów bład bazy.
Czy operacje na bazie w sekcji HEAD mają wpływ i znaczenie??
Czy to możliwe, żeby nadanie dwóm tabelom w bazie indeksów pomogło na tyle przyspieszyć operacje na bazie, żeby błąd #1226 przestał się pojawiać??
Nie sprawdzałem bazy przez dłuższy czas, ale chyba to pomogło....