Home
Home
Tutorials
   PHP
   Java
   Tutti...
Manuali
SmartImage
Marketing
Downloads
Contatti
Affiliati

  Da vedere
Hosting
Statistiche per siti
Corsi per webmaster
Hardware
Processori


  OnFocus
Quanti internauti ci sono in Italia? Quanti nel mondo?

Backup di un database mysql command line, con compressione

Importare un file mysql (.sql) da riga di comando

  Siti Amici
Miki News
Giochi gratis
Areagratis
Baratto Online
AI Machines
Guide e Manuali Gratis
BLOO.it
FindIT
Shopping online
Informazione & Servizi sul Forex
Prestiti online
SoftGame.it
Add to Technorati Favorites

Tutti i siti amici
Diventa Affiliato

 


Autore: Alessandro
Categoria: mysql
Livello: normale Livello normale

Query più sicure e debug

Come eseguire query più sicure e più facili da controllare in fase di debug

Ho notato che diversi siti in caso di errore delle query Mysql fanno l'output della query e lasciano proseguire il programma, questo a volte pregiudica la sicurezza di molti sistemi come per esempio a volte la copertura con password di una pagina.

E' anche vero che in fase di debug è molto utile avere la query sott'occhio in caso di errore, quindi come comportarsi?

La soluzione che propongo in questo tutorial è quella di usare una funzione propria anzichè mysql_query(), esempio:

 <?php
//Impostazioni
$debug=true;
//Funzioni...
//Safe Query
function safe_query($sql) {
  global $debug;
  $qh=@mysql_query($sql);
  if ($qh)
    return $qh;
  else {
    if ($debug)
      die('La query ' $sql ' ha restituito l\'errore ' mysql_error());
    else
      die('Spiacenti, errore interno');
  }
}
?> 
In questa porzione di codice presuppongo che nelle impostazioni del vostro script ci sia una variabile chiamata $debug che sia impostata a true se siete in fase di debug (e quindi volete visualizzare a video gli errori) oppure a false se qualunque utente può visualizzarlo (quindi preferite mantenere nascosta la query).

In entrambi i casi ho usato un die() ma ognuno potrà usare il proprio sistema per il log deglio errori o magari può inviarsi un'email tramite la funzione mail() di php per essere sempre a conoscenza degli errori che gli utenti riscontrano sul sito.

Questo vuol essere solo uno spunto per una più ampia personalizzazione, proponetemi le vostre idee!

MySQL: ricerca full-text Precedente Indice Successivo Creare date casuali con MySql
MySQL: ricerca full-text Creare date casuali con MySql