revert
This commit is contained in:
parent
c2298b0679
commit
f4e03c5bc7
@ -1,74 +1,52 @@
|
||||
<?php
|
||||
class WDB
|
||||
{
|
||||
/**
|
||||
* @var Zend_Db_Adapter_Abstract
|
||||
*/
|
||||
protected $db = null;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var unknown
|
||||
*/
|
||||
protected $result = null;
|
||||
class WDB {
|
||||
|
||||
protected $errorCode;
|
||||
private $host;
|
||||
private $database;
|
||||
private $user;
|
||||
private $password;
|
||||
private $con_id; // Connection ID with MySQL
|
||||
private $result;
|
||||
|
||||
protected $errorMsg;
|
||||
public function __construct($database='', $host='', $user='', $password='') {
|
||||
|
||||
public function __construct( $database = null, $host = null, $user = null, $password = null )
|
||||
{
|
||||
if ( $database === null ) {
|
||||
$database = 'jo';
|
||||
}
|
||||
if ($host=='') $this->host=MYSQL_HOST;
|
||||
else $this->host=$host;
|
||||
if ($user=='') $this->user=MYSQL_USER;
|
||||
else $this->user=$user;
|
||||
if ($password=='') $this->password=MYSQL_PASS;
|
||||
else $this->password=$password;
|
||||
if ($database=='') $this->database=MYSQL_DEFAULT_DB;
|
||||
else $this->database=$database;
|
||||
|
||||
if ( $host === null ) {
|
||||
$c = Zend_Registry::get('config');
|
||||
$config = new Zend_Config(array(
|
||||
'adapter' => $c->profil->db->metier->adapter,
|
||||
'params' => array(
|
||||
'host' => $c->profil->db->metier->params->host,
|
||||
'username'=> $c->profil->db->metier->params->username,
|
||||
'password'=> $c->profil->db->metier->params->password,
|
||||
'dbname'=> $database,
|
||||
'driver_options' => array(
|
||||
MYSQLI_INIT_COMMAND => "SET NAMES utf8",
|
||||
),
|
||||
),
|
||||
));
|
||||
|
||||
} else {
|
||||
$config = new Zend_Config(array(
|
||||
'adapter' => 'mysqli',
|
||||
'params' => array(
|
||||
'host' => $host,
|
||||
'username'=> $user,
|
||||
'password'=> $password,
|
||||
'dbname'=> $database,
|
||||
'driver_options' => array(
|
||||
MYSQLI_INIT_COMMAND => "SET NAMES utf8",
|
||||
),
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
try {
|
||||
$this->db = Zend_Db::factory($config);
|
||||
} catch ( Exception $e ) {
|
||||
file_put_contents('debug.log', $e->getMessage()."\n", FILE_APPEND);
|
||||
exit;
|
||||
$this->con_id = mysql_pconnect($this->host, $this->user, $this->password);
|
||||
if (!($this->con_id === false)) {
|
||||
if (mysql_select_db($this->database, $this->con_id) === false) {
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
die();
|
||||
}
|
||||
}
|
||||
return mysql_query("SET NAMES 'utf8';", $this->con_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* INSERTION d'un tableau dans une table.
|
||||
* Les index doivent avoir les mêmes noms que les champs.
|
||||
* @param string Table
|
||||
* @param array Valeurs insérer
|
||||
* @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
|
||||
*/
|
||||
public function insert($table, $toAdd, $debug=false, $low_priority=false)
|
||||
{
|
||||
public function setCharSet($charSet) {
|
||||
return (mysql_query("SET CHARACTER SET $charSet;", $this->con_id));
|
||||
}
|
||||
|
||||
private function setDB() {
|
||||
return (mysql_query("USE $this->database;", $this->con_id));
|
||||
}
|
||||
|
||||
/** INSERTION d'un tableau dans une table.
|
||||
** Les index doivent avoir les mêmes noms que les champs.
|
||||
** @param string Table
|
||||
** @param array Valeurs insérer
|
||||
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
|
||||
**/
|
||||
public function insert($table, $toAdd, $debug=false, $low_priority=false){
|
||||
$this->setDB();
|
||||
$fields = implode(array_keys($toAdd), '`,`');
|
||||
foreach (array_values($toAdd) as $key=>$array_values)
|
||||
$tmp[$key]=checkaddslashes($array_values);
|
||||
@ -81,35 +59,22 @@ class WDB
|
||||
else
|
||||
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
|
||||
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$res = $this->db->lastInsertId();
|
||||
if ( $res == 0 ) {
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
$res = mysql_query($query, $this->con_id);
|
||||
if ($res!==false)
|
||||
{
|
||||
if (mysql_insert_id()>0)
|
||||
$res=mysql_insert_id();
|
||||
else
|
||||
$res=true;
|
||||
}
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$res = false;
|
||||
}
|
||||
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $table
|
||||
* @param unknown $update
|
||||
* @param unknown $where
|
||||
* @param string $debug
|
||||
* @param number $limit
|
||||
* @param string $low_priority
|
||||
* @return resource
|
||||
*/
|
||||
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false)
|
||||
{
|
||||
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false){
|
||||
$this->setDB();
|
||||
$fields = array_keys($update);
|
||||
$values = array_values($update);
|
||||
$i=0;
|
||||
@ -125,139 +90,60 @@ class WDB
|
||||
$query = str_replace("'NULL'", 'NULL', $query);
|
||||
$query.=' WHERE '.$where;
|
||||
if ($limit>0) $query.=" LIMIT $limit";
|
||||
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$res = $this->db->lastInsertId();
|
||||
if ( $res == 0 ) {
|
||||
$res = true;
|
||||
}
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$res = false;
|
||||
}
|
||||
|
||||
$res=mysql_query($query, $this->con_id);
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $table
|
||||
* @param unknown $where
|
||||
* @param string $debug
|
||||
* @param string $low_priority
|
||||
* @return resource
|
||||
*/
|
||||
public function delete($table, $where, $debug=false, $low_priority=false)
|
||||
{
|
||||
public function delete($table, $where, $debug=false, $low_priority=false) {
|
||||
$this->setDB();
|
||||
if ($low_priority)
|
||||
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
|
||||
else
|
||||
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
|
||||
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$res = $this->db->lastInsertId();
|
||||
if ( $res == 0 ) {
|
||||
$res = true;
|
||||
}
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
$res = false;
|
||||
}
|
||||
|
||||
$res=mysql_query($query, $this->con_id);
|
||||
if ($debug) $this->trace($query, $res, $tdeb);
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $table
|
||||
* @param unknown $fields
|
||||
* @param unknown $where
|
||||
* @param string $debug
|
||||
* @param string $assoc
|
||||
* @param string $huge
|
||||
* @return boolean|multitype:multitype: |number
|
||||
*/
|
||||
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false)
|
||||
{
|
||||
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false) {
|
||||
$this->setDB();
|
||||
if (mysql_select_db($this->database, $this->con_id) === false) {
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
die();
|
||||
}
|
||||
$query="SELECT $fields FROM $table WHERE $where;";
|
||||
|
||||
if ($debug) $tdeb=microtime_float();
|
||||
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
|
||||
$this->result=mysql_query($query, $this->con_id);// or die(mysql_error());
|
||||
if (mysql_errno()) {
|
||||
$fpErr=fopen(LOG_PATH.'/sqlerror.log','a');
|
||||
fwrite($fpErr, date('YmdHis'). ' - '.$query .EOL);
|
||||
fwrite($fpErr, date('YmdHis'). ' - '.$e->getCode().' - '. $e->getMessage().PHP_EOL);
|
||||
|
||||
fwrite($fpErr, date('YmdHis'). ' - '.mysql_errno() .' - '. mysql_error().EOL);
|
||||
return false;
|
||||
}
|
||||
|
||||
// echo ;
|
||||
if (!$huge) {
|
||||
switch($assoc) {
|
||||
case MYSQL_NUM:
|
||||
$mode = Zend_Db::FETCH_NUM;
|
||||
break;
|
||||
case MYSQL_ASSOC:
|
||||
$mode = Zend_Db::FETCH_ASSOC;
|
||||
break;
|
||||
case MYSQL_BOTH:
|
||||
$mode = Zend_Db::FETCH_BOTH;
|
||||
break;
|
||||
}
|
||||
$tab = $stmt->fetchAll($mode);
|
||||
$tab=array();
|
||||
while ($ligne = mysql_fetch_array($this->result, $assoc))
|
||||
$tab[]=$ligne;
|
||||
|
||||
if ($debug) $this->trace($query, sizeof($tab), $tdeb);
|
||||
return $tab;
|
||||
} else {
|
||||
$nbRows = $stmt->rowCount();
|
||||
$nbRows=mysql_num_rows($this->result);
|
||||
if ($debug) $this->trace($query, $nbRows, $tdeb);
|
||||
return $nbRows;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $assoc
|
||||
* @return multitype:
|
||||
*/
|
||||
public function fetch($assoc=MYSQL_BOTH)
|
||||
{
|
||||
switch($assoc) {
|
||||
case MYSQL_NUM:
|
||||
$mode = Zend_Db::FETCH_NUM;
|
||||
break;
|
||||
case MYSQL_ASSOC:
|
||||
$mode = Zend_Db::FETCH_ASSOC;
|
||||
break;
|
||||
case MYSQL_BOTH:
|
||||
$mode = Zend_Db::FETCH_BOTH;
|
||||
break;
|
||||
}
|
||||
return $this->result->fetch($mode);
|
||||
public function fetch($assoc=MYSQL_BOTH) {
|
||||
return mysql_fetch_array($this->result, $assoc);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param unknown $query
|
||||
* @param string $res
|
||||
* @param unknown $tdeb
|
||||
* @return boolean
|
||||
*/
|
||||
public function trace($query, $res='', $tdeb=-1)
|
||||
{
|
||||
public function trace($query, $res='', $tdeb=-1) {
|
||||
if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
|
||||
return false;
|
||||
$errnum=mysql_errno($this->con_id);
|
||||
@ -270,64 +156,50 @@ class WDB
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Exécute la requête passé en paramètre
|
||||
*/
|
||||
public function query($query, $debug=false)
|
||||
{
|
||||
try {
|
||||
$stmt = $this->db->query($query);
|
||||
$this->result = $stmt;
|
||||
} catch(Zend_Db_Exception $e) {
|
||||
$this->errorCode = $e->getCode();
|
||||
$this->errorMsg = $e->getMessage();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Exécute la requête passé en paramètre **/
|
||||
public function query($query, $debug=false){
|
||||
$this->setDB();
|
||||
$this->result=mysql_query($query, $this->con_id);
|
||||
return $this->result;
|
||||
}
|
||||
|
||||
/** Retourne le libellé de la dernière erreur **/
|
||||
public function getLastErrorMsg()
|
||||
{
|
||||
return $this->errorMsg;
|
||||
/** Retourne le nombre de records de la dernière requête de sélection **
|
||||
public function getNumRows() {
|
||||
return mysql_num_rows($this->con_id);
|
||||
}
|
||||
/**
|
||||
* Retourne le numéro de la dernière erreur
|
||||
*/
|
||||
public function getLastErrorNum()
|
||||
{
|
||||
return $this->errorCode;
|
||||
/** Retourne le libellé de la dernière erreur **/
|
||||
public function getLastErrorMsg() {
|
||||
return mysql_error($this->con_id);
|
||||
}
|
||||
/** Retourne le numéro de la dernière erreur **/
|
||||
public function getLastErrorNum() {
|
||||
return mysql_errno($this->con_id);
|
||||
}
|
||||
|
||||
/** Retourne le libellé et le numéro de la dernière erreur **/
|
||||
public function getLastError()
|
||||
{
|
||||
return $this->errorMsg.' ('.$this->errorCode.')';
|
||||
public function getLastError() {
|
||||
return mysql_error($this->con_id).' ('.mysql_errno($this->con_id).')';
|
||||
}
|
||||
|
||||
/** Retourne le nombre de lignes modifiées par la dernière requête **/
|
||||
public function getAffectedRows()
|
||||
{
|
||||
return $this->result->rowCount();
|
||||
public function getAffectedRows() {
|
||||
return mysql_affected_rows($this->con_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Génère le fichier CSV pour la requete SQL
|
||||
*
|
||||
* @param string $query
|
||||
* @param string $fileCsv
|
||||
* @return bool
|
||||
/** Génère le fichier CSV pour la requete SQL
|
||||
**
|
||||
** @param string $query
|
||||
** @param string $fileCsv
|
||||
** @return bool
|
||||
*/
|
||||
public function exportCSV($query, $fileCsv, $sep=',', $eol=EOL)
|
||||
{
|
||||
public function exportCSV($query, $fileCsv, $sep=',', $eol=EOL) {
|
||||
$i=$c=0;
|
||||
$fp = fopen($fileCsv, 'w');
|
||||
if (!$fp) return false;
|
||||
|
||||
$res=$this->query($query);
|
||||
$nbLignes = $res->rowCount();;
|
||||
$nbLignes=mysql_num_rows($res);
|
||||
|
||||
while ($ligne=$this->fetch(MYSQL_ASSOC)) {
|
||||
if ($i==0) {
|
||||
@ -349,8 +221,8 @@ class WDB
|
||||
$i++;
|
||||
}
|
||||
fclose($fp);
|
||||
|
||||
return $nbLignes;
|
||||
return $nbLignes;//$this->getAffectedRows();
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user