Autor Zpráva
Richard82
Profil
Ahoj, jen mě zajímá, mám zde kod a je to ošetřeno die. Zdá se mě to moc násilné. Neznáte nějaké lepší řešení. Poté by se například neprovedlo ukončení
mysqli_close($connect); a to by asi byl problém. Děkuji za info

$connect = MySQLi_Connect(MY_URL, MY_LOGIN, MY_PASSWORD, MY_DATABASE) or die("Error " . mysqli_error($mysql_connect));   
      
    $result = mysqli_query($connect, $SelectString );
    
    if (!$result)
       die ('Could not SELECT query:'. mysqli_error($connect));       
    
    mysqli_close($connect); 
Zechy
Profil
Richard82:
Můžeš použít třeba výjimky (viz. článek). Problémový kod, tedy ten, co může končit vyjímkou, se pak obalí do try-catch bloku. Pokud vyskočí výjimka, přejde se do catch bloku a tam se dle toho můžeš nějak zachovat. Funkce mysqli_close() by pak byla za tím celým blokem a provedla by se vždy.

Případně si udělat nějaký logovací mechanismus, který chybu jenom někam zapíše a die se neprovede.

V takových případech se dá pak ještě odlišovat provozní a vývojové prostředí, kdy třeba ve vývojovém to právě pomocí die budeš chtít ukončit, abys zjistil všechny problémy. Podobně je to pak i s výjimka, na vývojovém prostředí se například v catch bloku ta výjimka vyhodí znova, protože ji chceš vidět.
Richard82
Profil
A da se tam dát něco provizorně na rychlo, běží mi termín a nemám moc čas teď toho tolik předělávat. Později to ošetřím. Jen aby to běželo a případně to něco zahlásilo? Nějaké echo, nebo něco takového?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: