con = mysqli_connect($arrDatabase['host'], $arrDatabase['user'], $arrDatabase['pass'], $arrDatabase['db'], '3306') or die ('Error connecting to MySQL'); mysqli_set_charset($this->con, "utf8") or die ("Error loading character set utf8: %s"); // change character set to utf8 //mysqli_select_db($this->con, $arrDatabase['db']) or die('Database ' . $arrDatabase['db'] . ' does not exist!'); } function __destruct() { mysqli_close($this->con); } // fonction qui ex�cute la requ�te SQL function fxQuery($sql) { $qry = mysqli_query($this->con, $sql); $this->last_id = mysqli_insert_id($this->con); $this->affected_rows = mysqli_affected_rows($this->con); return $qry; } // fonction qui retourne la variable du r�sultat de la requ�te SQL function fxGetVar($sql) { return $this->fxFetchArray(0, $sql); } // fonction qui retourne un tableau contenant la ligne unique du r�sultat de la requ�te SQL function fxGetRow($sql) { return $this->fxFetchArray(1, $sql); } // fonction qui retourne un tableau contenant le r�sultat de la requ�te SQL function fxGetResults($sql) { return $this->fxFetchArray(2, $sql); } function fxGetResultstest($sql) { return $this->fxFetchArray(9, $sql); } // fonction qui retourne un tableau contenant le r�sultat de la requ�te SQL avec le premier champ du SELECT comme index function fxGetResultsKey($sql) { return $this->fxFetchArray(3, $sql); } // fonction qui met la requ�te dans un tableau function fxFetchArray($p, $sql) { $qry = $this->fxQuery($sql); if($qry === false) echo('erreur ----------------------
'.$sql.'
--------------------'); $nb = mysqli_num_rows($qry); if ($nb > 0) { switch ($p) { // fxGetVar case 0: $rec = mysqli_fetch_row($qry); $mem_results = $rec[0]; break; // fxGetRow case 1: $rec = mysqli_fetch_assoc($qry); foreach (array_keys($rec) as $field) $mem_results[$field] = $rec[$field]; break; // fxGetResults case 2: $ctr = 1; while ($rec = mysqli_fetch_assoc($qry)) { foreach (array_keys($rec) as $field) $mem_results[$ctr][$field] = $rec[$field]; $ctr++; } break; case 9: $ctr = 1; if ($qry && mysqli_num_rows($qry) > 0) { // Vérification que la requête renvoie des résultats while ($rec = mysqli_fetch_assoc($qry)) { if ($rec) { // Vérification que $rec n'est pas false foreach (array_keys($rec) as $field) { // Vérification que le champ existe dans $rec if (isset($rec[$field]) ){ //echo("
"); echo("
"); echo($field); echo("
"); $mem_results[$ctr][$field]=$rec[$field]; }else{ $mem_results[$ctr][$field]=""; } } echo($ctr);echo("
"); // print_r($mem_results[$ctr]); echo("
"); echo("
"); $ctr++; } } echo("
"); echo("fin
"); } break; // fxGetResultsKey case 3: $ctr = 1; while ($rec = mysqli_fetch_assoc($qry)) { $mem_clef = array_keys($rec); // $mem_clef = array_keys($rec, 0); $counter = 1; foreach (array_keys($rec) as $field) { if ($counter != 1) $mem_results[$rec[$mem_clef[0]]][$field] = $rec[$field]; $counter++; } } break; case 4: $ctr = 1; $x=1; $mem_lastkey=""; while ($rec = mysqli_fetch_assoc($qry)) { $mem_clef = array_keys($rec); // $mem_clef = array_keys($rec, 0); if($mem_lastkey!=$mem_clef) { $mem_lastkey= $mem_clef; $x=1; }else{$x=$x+1;} $counter = 1; $x=x+1; foreach (array_keys($rec) as $field) { if ($counter != 1) $mem_results[$rec[$mem_clef[0]]][$field][$x] = $rec[$field]; $counter++; } } } return $mem_results; } else return null; } // fonction qui retourne les d�tails des champs selon le SQL function fxGetFields($sql) { $qry = $this->fxQuery($sql); $nb = mysqli_num_fields($qry); if ($nb > 0) { $intCtr = 0; while ($intCtr < $nb) { $rec = mysqli_fetch_field($qry, $intCtr); foreach ($rec as $name => $value) { if ($name == 'name' || $name == 'numeric') $mem_results[$intCtr + 1][$name] = $value; } $intCtr++; } return $mem_results; } else return null; } //fonction pour �chapper les caract�res pour les variables post ou get //param: valeur //retourne la valeur �chapp�e function fxEscape($values) { if (is_array($values)) $values = array_map(array($this, 'fxEscape'), $values); else { // Stripslashes // MSIN-CON-259 //if (get_magic_quotes_gpc()) // $values = stripslashes($values); //if ((int)ini_get('magic_quotes_sybase')) // $values = str_replace("''", "'", $values); $values = str_replace('"', '"', $values); $values = mysqli_real_escape_string($this->con, $values); } return $values; } function fxGetLastId() { return $this->last_id; } function fxGetNbAffectedRows() { return $this->affected_rows; } } //fonction pour rescapper les caract�res pour les variables post ou get //param: valeur ou tableau de valeurs, donn�es html ? //retourne la valeur rescapp�e function fxUnescape($values, $intHtml = 0) { if (is_array($values)) $values = array_map(array($this, 'fxUnescape'), $values); else { // Stripslashes // MSIN-CON-259 //if (get_magic_quotes_gpc()) // $values = stripslashes($values); if ($intHtml == 0) $values = str_replace('"', '"', $values); //if ((int)ini_get('magic_quotes_sybase')) // $values = str_replace("''", "'", $values); } return $values; }