Ergebnis 1 bis 10 von 10

Thema: Verbindung zur Datenbank

  1. #1
    Contao-Fan
    Registriert seit
    05.09.2009.
    Beiträge
    437

    Standard Verbindung zur Datenbank

    Hallo,

    ich nutze eigenen PHP-Code, den ich in Artikeln inkludiere. Mit welchem Befehl stelle ich innerhalb der TL-Syntax eine Verbindung zur Datenbank her, bevor ich dann meine select-Abfragen starte?

    Danke! Ricks

  2. #2
    Contao-Nutzer
    Registriert seit
    27.11.2009.
    Beiträge
    35

    Standard

    Wird php-code in Artikeln überhaupt ausgeführt?? ich meine nicht..

    ansonsten:

    $vebrindung = mysql_connect($host, $user, $pass);
    mysql_select_db($verbindung, "Datenbank");

    ich würde aber aufpassen!
    denn wenn der code nicht ausgeführt wird, dann erscheinen die zugangsdaten im Artikel, der ja öffentlich ist

  3. #3
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Du kannst mittels InsertTag ein php-File einbinden.

    Das praktische daran ist, du hast dann Zugriff auf die Klassen von TL.
    Also eine Abfrage kann dann so aussehen:
    PHP-Code:
    $objQuery $this->Database->prepare("SELECT * FROM tbl WHERE id=?")
                               ->
    limit(1)
                               ->
    execute(6);
    // Ausgabe aller Attribute des Datensatzes mit der ID 6 
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  4. #4
    Contao-Fan
    Registriert seit
    05.09.2009.
    Beiträge
    437

    Standard

    Zitat Zitat von Toflar Beitrag anzeigen
    PHP-Code:
    $objQuery $this->Database->prepare("SELECT * FROM tbl WHERE id=?")
                               ->
    limit(1)
                               ->
    execute(6);
    // Ausgabe aller Attribute des Datensatzes mit der ID 6 
    Danke, jedoch greife ich auf eine Tabelle zu, die nicht von TL generiert wurde sondern von mir manuell angelegt. Wie müsste dann einfach nur der Verbindungsaufbau zur DB aussehen?

    Und was hat es mit dem execute(6); auf sich, bzw. mit dem Attribut ID6, das sich daraus ergibt? Kannst Du einen Codeschnipsel als Beispiel geben?

    Danke! Ricks

  5. #5
    Contao-Fan Avatar von Sarvo
    Registriert seit
    22.07.2009.
    Ort
    Aschaffenburg
    Beiträge
    334

    Standard

    PHP-Code:
    $objQuery $this->Database->prepare("SELECT * FROM tbl WHERE id=?")
                               ->
    limit(1)
                               ->
    execute(6);
    // Ausgabe aller Attribute des Datensatzes mit der ID 6 
    deine eigene Tabelle trägst du bei toflars beispiel bei tbl ein. Der Execute Parameter wird an der Stelle des Fragezeichens ersetzt.
    Du könntest das in diesem Fall auch einfach händisch in die Abfrage eintragen. Ansonsten ist die Abfrage ja meistens dynamisch dann gehts einfach über execute.

  6. #6
    Contao-Fan
    Registriert seit
    05.09.2009.
    Beiträge
    437

    Standard

    Danke! Ricks

  7. #7
    Contao-Fan Avatar von Sarvo
    Registriert seit
    22.07.2009.
    Ort
    Aschaffenburg
    Beiträge
    334

    Standard

    Beispiel :

    PHP-Code:
    $objQuery $this->Database->prepare("SELECT * FROM my_table WHERE id=?")
                               ->
    limit(1)
                               ->
    execute(6); 
    /*
    Damit wird aus deiner Tabelle der Datensatz mit der id = 6 geladen. 
    Dann kannst du die Daten weiterverarbeiten 
    */

    while ($objQuery->next())
                {
        
    $myDataArr[0]=$objQuery->firstname;
        
    $myDataArr[1]=$objQuery->lastname;
                }
    /* 
    Auf die einzelnen Spalten der Tabelle greifst du über die Spaltennamen zu. firstname ist in meinem Beispiel also eine Spalte von der Tabelle my_table
     Du kannst die Daten natürlich so speichern/weiterverarbeiten wie du es möchtest.
    */ 

  8. #8
    Contao-Fan
    Registriert seit
    05.09.2009.
    Beiträge
    437

    Standard

    Danke Sarvo!

    Zitat Zitat von Sarvo Beitrag anzeigen
    Beispiel :

    PHP-Code:
    $objQuery $this->Database->prepare("SELECT * FROM my_table WHERE id=?"
    Wenn ich eine komplexere Abfrage habe wie "where id < 200 and online = 1 ... etc.", dann kann ich das einfach so in den obigen String einsetzen, oder spricht da etwas dagegen?

    Und den * ersetze ich durch die Original-Feldbezeichnungen der Tabelle, die ich auslesen möchte?

    Und kann mir vielleicht jemand einen Codeschnipsel posten der zeigt, wie ich einen Wert speichere. Also wie ich z.B. dem Datensatz mit der ID 100 für das Feld 'online' den Wert '1' zuweise?

    Viele Fragen, ich weiß, aber wenn man es einmal sieht, wie es korrekt ist, dann kommt man danach zügig weiter.

    Danke! Ricks

  9. #9
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    $objQuery $this->Database->prepare("UPDATE mytable SET online=? WHERE id=?")
                               ->
    execute(1,100); 
    Sowas?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  10. #10
    Contao-Fan
    Registriert seit
    05.09.2009.
    Beiträge
    437

    Standard

    Zitat Zitat von Toflar Beitrag anzeigen
    PHP-Code:
    $objQuery $this->Database->prepare("UPDATE mytable SET online=? WHERE id=?")
                               ->
    execute(1,100); 
    Sowas?
    Ja, genau so etwas. Vielen Dank!

    Ricks

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)

Ähnliche Themen

  1. Keine Verbindung zu FTP
    Von psren im Forum Installation / Update
    Antworten: 2
    Letzter Beitrag: 12.08.2011, 00:59
  2. Verbindung zur Datenbank
    Von Oski im Forum Installation / Update
    Antworten: 3
    Letzter Beitrag: 27.02.2011, 05:49
  3. Keine Verbindung zur Datenbank möglich!
    Von corex76 im Forum Installation / Update
    Antworten: 32
    Letzter Beitrag: 05.12.2010, 09:24
  4. Installtool - keine Verbindung zur Datenbank
    Von psren im Forum Installation / Update
    Antworten: 3
    Letzter Beitrag: 02.12.2010, 13:27
  5. Datenbank-Verbindung nach Server Ausfall
    Von Andrea im Forum Sonstiges zu Contao
    Antworten: 6
    Letzter Beitrag: 16.11.2009, 17:58

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •