Zum Inhalt springen

MySQL-Verbindung aufbauen

Erstellt am 17. Februar 2006 · 5 Antworten · letzte Antwort am 23. Februar 2006

Tags: PHP, Datenbank, Frage

Unbekannter Benutzer ·

Hi Leute,
Ich bin neu bei typo3 und habe folgendes problem:
Bis jetzt habe ich eine MySQL Verbindung immer am Anfang meiner Site mit include_once und der f_mysql_connect.php aufgebaut. Mit $xxxx_tab... konnte man dann auf die tabellennamen zugreifen.
Nun will ich das selbe in typo3. In Inhaltsobjekten will ich auf die Tabellenvariablen zugreifen können und die schon aufgebaute Verbindung nutzen. Wie geht das? Oder gibt es viel bessere Lösungen??

<?php /* MODUL: Baut eine Verbindung zum MySQL-Server auf und selektiert die Datenbank */ ?>
<?php
$hostname_mysql_connect="localhost";
$username_mysql_connect="xxxxxxxx";
$password_mysql_connect="xxxxxxxx";
$database_mysql_connect="you-jazz";
$evnt_tab_mysql_connect="events";
$audi_tab_mysql_connect="audios";
$gale_tab_mysql_connect="galerie";
$gaes_tab_mysql_connect="gaestebuch";
/* Raum für $xxxx_tab_mysql_connect="XXXX";-Deklarationen */

$co_error_mysql_connect="Keine Verbindung zum Datenbank-Server möglich!";
$db_error_mysql_connect="Konnte Datenbank nicht öffnen!";

$connection_mysql_connect=@mysql_connect($hostname_mysql_connect,$username_mysql_connect,$password_mysql_connect) or die($co_error_mysql_connect);
@mysql_select_db($database_mysql_connect,$connection_mysql_connect) or die($db_error_mysql_connect);

?>

Thankx im Voraus
Lukas

woida ·

Da gibt es im Prinzip 3 Möglichkeiten:
Du bindst dein PHP-Skript über die Extension php_page_content, oder über TS via PHP_SCRIPT, PHP_SCRIPT_INT,... ein und baust die DB-Verbindug auf, so wie du es gewohnt bist.

Oder: Du schreibst dir eine eigene Extension, in der du auf die bestehende DB-Verbindung von Typo3 zugreifen kannst.

Unbekannter Benutzer · · Beste Antwort

Wenn ich (Mögl. 1) mit einem page_php_content Objekt arbeite muss ich das sicher in jeder Seite neu einbinden: Das ist also keine optimale.
Interessant fände ich das mit dem PHP_SCRIPT. Ich habe es allerdings schon versucht aber irgendwie kam nichts dabei heraus. Könntest du mir ein Beispiel posten?
Obwohl Mögl. 3 sicher die Resourcen-freundlichste ist (nur eine Verbindung) glaube ich nicht das extension schreiben so einfach ist.

Danke
Lukas

steffenk ·

wenn Du das Script einbindest, hast Du bereits ein DB-Objekt: $GLOBALS['TYPO3_DB']

schau Dir einfach mal das example_languageMenu.php im media-Ordner an.

Unbekannter Benutzer ·

Ich hab es jetzt mit PHP_SCRIPT versucht: Wenn ich $content="xxx"; mach gibt er es aus, Allerdings werden die Variablen nicht bis zum Inhaltselement über geben, wie mach ich das?

wenn Du das Script einbindest, hast Du bereits ein DB-Objekt: $GLOBALS['TYPO3_DB']

schau Dir einfach mal das example_languageMenu.php im media-Ordner an.

Geht das auch wenn ich auf eine andere Datenbank zugreifen will? Ich brauche auch UPDATE,INSERTS und so. es gibt doch nur eine exec_SELECTquery(), oder?