php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.05.2006, 12:30  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Queries dynamisch um Tabellen Präfixe erweitern

Hallo.

Ich suche nach einem guten Weg, meine SQL-Queries um ein
Tabellen-Prefix zu erweitern.

Die Queries werden an das MySql-Objekt in folgender Form übergeben:
PHP-Code:
<?php
MySqlConnection
::query(string $sQuery, array $aValues null);
?>
Das Objekt escaped dann die Werte und substituiert die Platzhalter in der
Query via vsprintf().

Nun will ich eben ein Tabellen-Präfix hinzufügen und hab natürlich wenig
Interesse, dieses in der Form von
PHP-Code:
<?php
$sQuery 
"SELECT foo FROM {$this->Config->get('MySql', 'prefix')}table WHERE foo = '%s'";
?>
in die Queries einzubauen.

Mein spontaner Ansatz wäre, die Tabellennamen in geschweifte Klammern
oder so zu setzen und im MySql-Objekt via preg_replace() um das Präfix
zu erweitern. Da ich aber nicht fit bin, was den Sprachumfang von SQL
angeht, wollte ich hier mal anfragen, ob sich geschweifte Klammern hierzu
eignen, oder ob das Konflikte geben kann. Wie gesagt, die Werte der
Query werden in dieser nicht mitübergeben. Dort stehen also nur
SQL-Ausdrücke, Tabellennamen, Aliase und Attribut-Bezeichner (...was
noch?).

Oder gib es andere bewährte Wege, das zu tun, vielleicht ohne auf
RegExps zugreifen zu müssen?

Basti
Basti ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.05.2006, 12:57  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Stell dir vor jemand schreibt in einem Gästebuch eintrag {ohha} dann wird aus deinem Query ein "prefix_ohha" z.B.

Ich habe bei meiner DB Klasse halt eine Funktion prefix() wie du es eben beschrieben hast.
PHP-Code:
<?php
$query 
"SELECT * FROM ".$db->prefix()."tabelle"
?>
Flor1an ist offline   Mit Zitat antworten
Alt 15.05.2006, 14:05  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Wie gesagt, die Werte werden in einem Array dem MySQL-Objekt übergeben. In der Query selbst
stehen nur Platzhalter (%s).

PHP-Code:
$sQuery "
    SELECT
        date,
        entry

    FROM
        guestbook

    WHERE
        author = '%s';
"
;

$this->Connection->query($sQuery, array('{Herbert}')); 
Das wäre also kein Problem.

Basti
Basti ist offline   Mit Zitat antworten
Alt 15.05.2006, 16:32  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Dann könntest du es wohl so machen.
Flor1an ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen dynamisch aus der db laden Jabi PHP Tipps 2006 25 08.03.2006 11:54
db tabellen dynamisch erstellen GELight PHP Tipps 2005-2 5 22.07.2005 14:35
Tabellen dynamisch erstellen PHP Tipps 2005 4 20.04.2005 13:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
präfixe tabelle, mysql string ergänzen, suche nach dating-connect handel ausweiten search.de, sql präfixe, query um tabellen erweitern, sql tabellenwert um präfix ergänzen, tabellen prefix abfragen php, mysql tabellen dynamisch erweitern, html tabelle mit query erweitern, php mysql abfrage tabellenpräfix, sql 2008 tabellen präfix, php mysql tablelle dynamisch erweitern, php5 präfix bei mysql, php5 mysql prefix, php mysql query string, sql tabellennamen in query, sql ergänzen präfix, sql 2005 dynamische tabellennamen, tabellen abfragen mysql tabellen präfix, php5 mysql datensatz dynamisch erweitern

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.