Verwendet man im OXID eShop ein SQL-Statement welches nicht erfolgreich ausgeführt werden kann, weil z. B. eine Spalte nicht vorhanden ist, wird eine Exception geworfen und der Kunde bekommt entweder eine weiße Seite oder “Shop-Offline”-Meldung.
Mit folgendem Snippet (Funktion) kann man einfach prüfen ob eine Spalte vorhanden ist.
protected function _dbColumnExist($sTable, $sColumn){$sDbName = oxRegistry::getConfig()->getConfigParam(‘dbName’);$sSql = sprintf(“SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ‘%s’ AND TABLE_NAME = ‘%s’ AND COLUMN_NAME = ‘%s’”,$sDbName, $sTable, $sColumn);return oxDb::getDb()->getOne($sSql);}
Auch zu finden auf Github Gist: https://gist.github.com/proudcommerce/53a7d4b35f78ca9c4679
Vielen Dank an Tim von shoptimax für die ursprüngliche Version.