// 1er paramètre (0 ou 1) : affiche un message d'erreur et die // si erreur à la connection. Mettre à 0 pour désactiver // 2nd paramètre : nom de la base de donnée // si vide, on utilise la variable définie dans DATA_BASE // 3ème paramètre (0 ou 1) : active ou désactive la sélection // d'une base (y compris celle définie dans DATA_BASE) // 4ème paramètre : active ou désactive le retour d'erreur qui coupe // le script quand la base n'est pas valide //inclusion du fichier des fonctions mysql include_once($include_path."/mysql_functions.inc.php"); function connection_mysql($er_connec=1, $my_bd='', $bd=1, $er_bd=1) { global $__erreur_cnx_base__, $pmb_nb_documents, $pmb_opac_url, $pmb_bdd_version, $pmb_login_message; global $charset, $SQL_MOTOR_TYPE, $time_zone, $time_zone_mysql; if(isset($time_zone) && trim($time_zone)) date_default_timezone_set($time_zone);//Pour l'heure PHP $my_connec = @pmb_mysql_connect(SQL_SERVER, USER_NAME, USER_PASS); if($my_connec === 0 && $er_connec==1) { $__erreur_cnx_base__ = 'erreur '.pmb_mysql_errno().' : '.pmb_mysql_error().'
'; return 0 ; } if($bd) { if ($my_bd == '') { $my_bd = DATA_BASE; } if( pmb_mysql_select_db($my_bd, $my_connec)==0 && $er_bd==1 ) { $__erreur_cnx_base__ = 'erreur '.pmb_mysql_errno().' : '.pmb_mysql_error().'
'; return 0 ; } } $pmb_nb_documents=(@pmb_mysql_result(pmb_mysql_query("select count(*) from notices",$my_connec),0,0))*1; $pmb_opac_url=(@pmb_mysql_result(pmb_mysql_query("select valeur_param from parametres where type_param='pmb' and sstype_param='opac_url'",$my_connec),0,0)); $pmb_bdd_version=(@pmb_mysql_result(pmb_mysql_query("select valeur_param from parametres where type_param='pmb' and sstype_param='bdd_version'",$my_connec),0,0)); $pmb_login_message=(@pmb_mysql_result(pmb_mysql_query("select valeur_param from parametres where type_param='pmb' and sstype_param='login_message'",$my_connec),0,0)); if ($charset=='utf-8') pmb_mysql_query("set names utf8 ", $my_connec); else pmb_mysql_query("set names latin1 ", $my_connec); if ($SQL_MOTOR_TYPE) pmb_mysql_query("set storage_engine=$SQL_MOTOR_TYPE", $my_connec); if (isset($time_zone_mysql) && trim($time_zone_mysql)) pmb_mysql_query("SET time_zone = $time_zone_mysql",$my_connec);//Pour l'heure MySQL return $my_connec; } // fonction de gestion des erreurs de connection. // my_error(); ou my_error(1); affichent le numéro et la // description de la dernière erreur MySQL. // $erreur = my_error(0) stocke dans $erreur la chaîne // contenant le numéro et la description de la dernière // erreur MySQL. function my_error($echo=1) { if(!pmb_mysql_errno()) return ""; $erreur = 'erreur '.pmb_mysql_errno().' : '.pmb_mysql_error().'
'; if($echo) echo $erreur; else { trigger_error($erreur, E_USER_ERROR); return $erreur; } }