Esempio n. 1
0
 /**
  * Permet d'exécuter une requête.
  *
  * Aucun résultat n'est renvoyé par cette fonction. Elle doit être utilisé pour effectuer
  * des insertions, des updates... Elle est de même utilisée par les
  * autres fonction de la classe comme queryRow() et queryTab().
  *
  * @param string $query chaine SQL
  * @param mixed $param variables bind de type array(":bind"=>"value")
  * @return void
  */
 public function query($query, $param = array())
 {
     global $sysNbQuery;
     // execution de la requête
     $this->query = (isset($_SERVER['HOSTNAME']) ? '/*SIG' . $_SERVER['HOSTNAME'] . 'SIG*/ ' : '') . $query;
     $this->param = $param;
     $this->stmt = null;
     $sysNbQuery = !isset($sysNbQuery) || $sysNbQuery <= 0 ? 1 : $sysNbQuery + 1;
     // Prepare de la requête
     if (!empty($param)) {
         foreach ($param as $key => $val) {
             if (strpos($query, $key) !== false) {
                 if ($param[$key] === null) {
                     $this->query = str_replace($key, 'NULL', $this->query);
                 } else {
                     $this->query = str_replace($key, "'" . $this->id->real_escape_string($param[$key]) . "'", $this->query);
                 }
             }
         }
     }
     // Execution de la requête
     $this->stmt = $this->id->query($this->query);
     if (!$this->stmt) {
         //Génération d'une DataBaseException
         throw new DataBaseException(mysqli_error($this->id), mysqli_sqlstate($this->id));
     }
     return $this->stmt;
 }
Esempio n. 2
0
 /**
  * Determine if a row exists
  *
  * $helper->exists('cars', ['make' => 'volvo']);
  *
  * @param string $table
  * @param string[] $predicate
  * @return bool
  */
 public function exists($table, array $predicate)
 {
     $paramValues = [];
     $table = $this->quoteColumn($table);
     $sql = "select 1 from {$table} " . $this->buildPredicate($predicate, $paramValues) . ' limit 1';
     return !!$this->db->query($sql, $paramValues);
 }