Mysql Query Prefixe setzen

  • Hallo,

    wie der Title schon sagt möchte ich meine MYSQL Klasse bischen ändern:

    Bis jetzt ersetze ich die Tabellenamen so:

    Code
    $querystring = preg_replace('/(FROM|UPDATE|INTO|TABLE|JOIN) (.+)/Us', '$1 '.$pref.'_$2', $querystring);

    Bei Joins oder so abfragen wie diese bekomm ich schwierig keiten:

    Code
    $newsabfrage = "SELECT ".$pref."_downloads_kat.* FROM ".$pref."_downloads_kat WHERE kat_id = 0 AND ".$pref."_downloads_kat.id IN (SELECT id FROM ".$pref."_downloads_kat_darfsehen WHERE group_id = 0 $sec ) OR ".$pref."_downloads_kat.id NOT in (select id FROM ".$pref."_downloads_kat_darfsehen)";

    Habt ihr ne bessere idee?

    Nein ich werde nicht auf mysqli oder pdo oder sonst was umsteigen, es ist für ein CMS was auf jeden Server gehen muss

  • Joa bitte nicht so viele antworten;)

    Oder macht jeder von euch sowas:

    "SELECT ".$pref."_downloads_kat"

  • Hm ja aber für mein CMS würde ich halt gern das ersparen, für was sollte ja die MYSQL Klasse gut sein :D

    Aber ich glaube ich habe keine CHance, den das Script kann ja nicht wissen ob nach OR nun eine Variable kommt oder eine Tabellenname sprich

    OR test = 1

    OR spaltenname.tabellenname = 1