Mysql
 sql >> Baza danych >  >> RDS >> Mysql

rozszerzenie klasy PDO

$dsn to nazwa źródła danych. Obsługuje twoją nazwę hosta za Ciebie. Używasz go w ten sposób:

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

Z wierszem $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Ustawiłeś wyjątki, które mają być zgłaszane, gdy wystąpią błędy (co mi się podoba), więc w swojej klasie rozszerzonej możesz obsługiwać błędy w procedurach obsługi wyjątków. Gdybyś miał metodę o nazwie getAssoc w swojej rozszerzonej klasie PDO, to wyglądałoby to tak:

/// 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Terminy systemu rezerwacji

  2. jak zsynchronizować sqlite z Mysql

  3. Co to znaczy, gdy mówię, że instrukcja „Przygotowana” jest wstępnie skompilowana?

  4. Programowanie klas PHP PDO:Błąd krytyczny:Wywołanie funkcji członkowskiej fetchAll() na wartości logicznej

  5. Java pobiera zestaw wyników z tablicy SQL nie działa