Prüfen ob eine Spalte existiert

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.

Sie erreichen uns unter:

[email protected]Mail 0911 / 14 88 44 70Telefon

Gerne rufen wir Sie auch zurück: