Autor Zpráva
tom994
Profil *
Zdravím,

mám dotaz. Používám vzdálené připojení k db a rád bych věděl o tom, když se nepovede na vzdálený servr připojit.

při použití:
$spojeni = mysql_connect("$db_server","$db_login","$db_password") or die("nepovedlo se pripojit");

mi to na stranku vypise "nepovedlo se pripojit" a skript bude ukoncen.

Mohu pouzit toto, pro odeslani emailu pri nepovedenem pripojeni? (misto die() funkci mail())?
$spojeni = mysql_connect("$db_server","$db_login","$db_password") or mail("udaje, kam se ma odeslat email");


nemohu to momentalne otestovat, tak proto takovyto stupidni dotaz :)
Alphard
Profil
tom994:
Můžete, samozřejmě se správnými parametry pro mail.
Ta konstrukce or není nutná, lze to řešit i klasickou podmínkou.

$spojeni = mysql_connect($db_server, $db_login, $db_password);

// $spojeni = false;

if (!$spojeni)
{
  mail();
  echo "Nepodařilo se připojit k databázi.";
  exit;
}

Když odkomentujete 3. řádek, můžete snadno testovat.

Ještě jsem smazal uvozovky kolem proměnných v mysql_connect(), nejsou tam nutné ani hezké :-)
tom994
Profil *
ok diky :) nechtel jsem moc testovat neco co nemam overene abych nerozhodil server.

jinak predpokladam, ze zda se skript nepripoji ke vzdalene databazi, odesle email a dostane se na radek 9, tak se cely skript ukonci a tim padem uvidim bilou stranku (za predpokladu ze tento kod bude na samem zacatku napr souboru index.php). Pri odstraneni exit; by mel skript pokracovat dale, je tomu tak? (vzdalena databaze obsahuje jen reklamy pro partnerske weby, neni tedy nutne, aby se web nezobrazil kdyz se nepripoji).
tom994
Profil *
tak kdyz se spatne pripojim k servru tak mi to mail posle, ovsem kdyz spatne vyberu tabulku (napr tabulka neexistuje) tak mi to mail neposle. Muzete se mi prosim podivat na nasledujici radky a poradit kde je chyba? ta bude asi nekde od radku 6 nize:

Dekuji

$link = mysql_connect($et_ds, $et_dl, $et_dp);
						if (!$link) {
							$message = "".$et_d.": Nepodarilo se pripojit k databazi  s uzivatelskym jmenem ".$et_dl." a heslem ".$et_dp." pro web s tabulkou ".$et_dt.".";
							mail($email, "Chyba pripojeni k databazi", $message);
						}else{
							/* vyber databaze */
							$db_selected = mysql_select_db($et_dd, $link);
							if (!$db_selected) {
								$message = "".$et_d.": Pripojeni k databazi databazi ".$et_ds." s uzivatelskym jmenem ".$et_dl." a heslem ".$et_dp." probehlo v poradku, ale nepovedlo se vybrat tabulku ".$et_dd.".";
								mail($email, "Chyba vyberu tabulky", $message);
							}
						}
tom994
Profil *
omlouvam se, funguje to, jen email byl zpozden o 30 Min :)

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:

0