Autor | Zpráva | ||
---|---|---|---|
Seki Profil |
#1 · Zasláno: 3. 11. 2012, 16:44:43
Rád bych vylepšil svůj stávající script na připojení do databáze a z důvodu přehlednosti jsem kód poupravil na:
# get persistent conection $conn = mysql_pConnect($server, $user, $pass); mysql_select_db($base, $conn); mysql_query("USE `$base`"); mysql_query("SET NAMES 'utf8'"); # přesměrování na chybovou stránku if (mysql_errno() != 0) { header("location: error.php?e=0"); } jenže funkce mysql_errno() vrací jenom chybový kód z poslední provedené mysql funkce před voláním této funkce, neexistuje nějaká alternativa, jak provést přesměrování, když některá z těchto funkcí vrátí FALSE? Děkuji |
||
Luky Profil |
#2 · Zasláno: 3. 11. 2012, 20:38:32
Obecně stačí třeba něco takového:
$spojeni = @MySQL_Connect('localhost', 'root', 'password'); @MySQL_Select_DB("databaze") or die(header("location: error.php?e=0")); mysql_set_charset("utf8"); Váši ukázku lze upravit i takto: # get persistent conection $conn = mysql_pConnect($server, $user, $pass); $select= mysql_select_db($base, $conn); $use=mysql_query("USE `$base`"); $set=mysql_query("SET NAMES 'utf8'"); # přesměrování na chybovou stránku if (!$conn || !$select || !$use || !$set) { header("location: error.php?e=0"); } |
||
Alphard Profil |
#3 · Zasláno: 3. 11. 2012, 21:07:28
|
||
Tomáš H Profil * |
#4 · Zasláno: 4. 11. 2012, 00:27:09
Pánové, opravdu zapomeňte, že nějaké "or die" existuje. To se začalo používat jen asi někde v nějakém manuálu pro názornost. V aplikaci ale nemá co dělat! Čím více "or die" z vašeho kódu smažete, tím jste lepší programátoři
function query($sql) { $result = mysql_query($sql); if(mysql_errno()) { # uloží chybu a sql dotaz error_log(mysql_errno() . ": $sql \n\n", 3, "/var/log/mysql-errors.log"); header("location: error.php?e=0"); } return $result; } |
||
Časová prodleva: 11 let
|
0