getTables(); } /** * checks whether a table exists or not * @param string $table * @return bool */ public function tableExists(string $table) : bool { return in_array($table, $this->getTables()); } /** * get current row (data) count for an existing table * -> returns 0 if table not exists or empty * @param string $table * @return int */ public function getRowCount(string $table) : int { $count = 0; if($this->tableExists($table)){ $countRes = $this->exec("SELECT COUNT(*) `num` FROM " . $this->quotekey($table)); if(isset($countRes[0]['num'])){ $count = (int)$countRes[0]['num']; } } return $count; } /** * set some default config for this DB * @param string $characterSetDatabase * @param string $collationDatabase */ public function prepareDatabase(string $characterSetDatabase, string $collationDatabase){ if($this->name() && $characterSetDatabase && $collationDatabase){ // set/change default "character set" and "collation" $this->exec('ALTER DATABASE ' . $this->quotekey($this->name()) . ' CHARACTER SET ' . $characterSetDatabase . ' COLLATE ' . $collationDatabase ); } } }