sql >> Database >  >> RDS >> Mysql

uitbreiding van de BOB-klasse

$dsn is de naam van de gegevensbron. Het behandelt uw hostnaam voor u. Je gebruikt het als volgt:

$dsn = 'mysql:dbname=YOUR_DB_NAME;host=YOUR_HOSTNAME'

Met de regel $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Je hebt uitzonderingen ingesteld die moeten worden gegenereerd wanneer er fouten optreden (wat ik leuk vind), dus in je uitgebreide klasse kun je fouten in uitzonderingshandlers afhandelen. Als je een methode had met de naam getAssoc in je uitgebreide PDO-klasse, dan zou het er als volgt uitzien:

/// Get an associative array of results for the sql.
public function getAssoc($sql, $params=array())
{
   try
   {
      $stmt = $this->prepare($sql);
      $params = is_array($params) ? $params : array($params);
      $stmt->execute($params);

      return $stmt->fetchAll(PDO::FETCH_ASSOC);
   }
   catch (Exception $e)
   {
      // Echo the error or Re-throw it to catch it higher up where you have more
      // information on where it occurred in your program.
      // e.g echo 'Error: ' . $e->getMessage(); 

      throw new Exception(
            __METHOD__ . 'Exception Raised for sql: ' . var_export($sql, true) .
            ' Params: ' . var_export($params, true) .
            ' Error_Info: ' . var_export($this->errorInfo(), true),
            0,
            $e);
   }
}


  1. SQL Server IN vs. BESTAAN Prestaties

  2. mysql:verbinding geweigerd bij een poging om verbinding te maken met localhost via externe IP

  3. Verkrijg id van een insert in dezelfde instructie

  4. Een grote dataset beheren met Spring MySQL en RowCallbackHandler