source: pmb4.2/trunk/fuentes/pmb/includes/mysql_connect.inc.php @ 819

Last change on this file since 819 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 3.2 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: mysql_connect.inc.php,v 1.13 2015-04-07 08:58:21 arenou Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9// attention : on oublie pas le pmb_mysql_close() dans le script PHP appelant !
10
11        // connection MySQL et sélection base
12        // aucun paramètre n'est obligatoire :
13
14        // connection_mysql() fonctionne et utilise les variables des define
15        // dans ce cas, les erreurs sont renvoyées
16
17// connection_mysql(1, 'base', 1, 1) ->
18// 1er paramètre (0 ou 1) : affiche un message d'erreur et die
19// si erreur à la connection. Mettre à 0 pour désactiver
20// 2nd paramètre : nom de la base de donnée
21// si vide, on utilise la variable définie dans DATA_BASE
22// 3ème paramètre (0 ou 1) : active ou désactive la sélection
23// d'une base (y compris celle définie dans DATA_BASE)
24// 4ème paramètre : active ou désactive le retour d'erreur qui coupe
25// le script quand la base n'est pas valide
26
27//inclusion du fichier des fonctions mysql
28include_once($include_path."/mysql_functions.inc.php");
29
30function connection_mysql($er_connec=1, $my_bd='', $bd=1, $er_bd=1) {
31        global $__erreur_cnx_base__, $pmb_nb_documents, $pmb_opac_url, $pmb_bdd_version;
32        global $charset, $SQL_MOTOR_TYPE, $time_zone, $time_zone_mysql;
33        if(isset($time_zone) && trim($time_zone)) date_default_timezone_set($time_zone);//Pour l'heure PHP
34        $my_connec = @pmb_mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);
35        if($my_connec==0 && $er_connec==1) {
36                $__erreur_cnx_base__ =  'erreur '.pmb_mysql_errno().' : '.pmb_mysql_error().'<br />';
37                return 0 ;
38                }
39        if($bd) {
40                $my_bd == '' ? $my_bd=DATA_BASE : $my_bd;
41                if( pmb_mysql_select_db($my_bd, $my_connec)==0 && $er_bd==1 ) {
42                        $__erreur_cnx_base__ = 'erreur '.pmb_mysql_errno().' : '.pmb_mysql_error().'<br />';
43                        return 0 ;
44                        }
45                }
46        $pmb_nb_documents=(@pmb_mysql_result(pmb_mysql_query("select count(*) from notices",$my_connec),0,0))*1;
47        $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));
48        $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));
49
50        if ($charset=='utf-8') pmb_mysql_query("set names utf8 ", $my_connec);
51        else pmb_mysql_query("set names latin1 ", $my_connec);
52       
53        if ($SQL_MOTOR_TYPE) pmb_mysql_query("set storage_engine=$SQL_MOTOR_TYPE", $my_connec);
54        if (isset($time_zone_mysql) && trim($time_zone_mysql)) pmb_mysql_query("SET time_zone = $time_zone_mysql",$my_connec);//Pour l'heure MySQL
55        return $my_connec;
56}
57
58// fonction de gestion des erreurs de connection.
59// my_error(); ou my_error(1); affichent le numéro et la
60// description de la dernière erreur MySQL.
61// $erreur = my_error(0) stocke dans $erreur la chaîne
62// contenant le numéro et la description de la dernière
63// erreur MySQL.
64function my_error($echo=1) {
65        if(!pmb_mysql_errno()) return "";
66        $erreur = 'erreur '.pmb_mysql_errno().' : '.pmb_mysql_error().'<br />';
67        if($echo) echo $erreur;
68                else {
69                        trigger_error($erreur, E_USER_ERROR);
70                        return $erreur;
71                        }
72        }
Note: See TracBrowser for help on using the repository browser.