[PHP] mit PHP AccessDb öffnen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von _zippo^, 3. Februar 2010 .

Schlagworte:
  1. 3. Februar 2010
    mit PHP AccessDb öffnen

    hallo freunde,
    ich habe ein Problemchen und keinen schimmer wie ich an die sache rangehen soll,
    ich bin kompletter php neuling (arbeite seit einer woche damit) und habe mir ein script geschrieben, welches daten aus einer mysqldb holen, editieren, löschen, hinzufügen und nach allen möglichen kriterien sortieren kann - das war quasi mein einstieg in php, nun zum problem-

    ich möchte das gesamte script, mit einer lokal auf meinem rechner befindlichen Accessdatenbank verknüpfen...

    stichwort ist laut google wohl ODBC - eine Schnittstelle mit der man auf die Accessdatenbank auch mit php zugreifen kann.
    leider scheitere ich noch an der konfiguration-
    ich hab bisher unter Systemsteuerung - Verwaltung - Datenquellen(ODBC) eine System-DSN für die access.mdb, die sich auf meinem desktop in einem ordner befindet, angelegt.
    (os=xp professional)

    problem ist, wie verfahre ich nun weiter - was zu hölle ist der Benutzername eine Accessdatenbank, das Passwort konnte ich bereits ändern, aber ist das überhaupt so richtig gewesen? ich bin echt am verzweifeln, auch weil google nicht so wirklich was tolles ausspuckt, bzw ich sicher zu schlecht suche^^

    PHP:
    <? php
            $dbh 
    odbc_connect ( "Name des festgeleften dsn" , "BenutzernamederDb" , "Passwort" SQL_CUR_USE_ODBC ) or die ( "Verbindung fehlgeschlagen" );    //Verbindung zur Datenbank
            
    echo  "Connected to db  $dbh " ;
                 
            
    odbc_close_all ();           
    ?>
    ist da jetzt was an meinem php/odbc-code falsch oder wie oder was und was ist der Benutzername einer Accessdatenbank.

    Bitte helft mir, bin über sämtliche antworten dankbar und bereit diese mit ner bw zu belohnen

    gruß, zippo
     
  2. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    was macht das mysql_select_db da?

    http://de.php.net/odbc_connect
    lesen
     
  3. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    okay gut, in der hektik verschrieben,
    kannst du mir vllt erstmal das problem mit dem Benutzernamen erklären?
    wenn ich bei google was dazu eingebe kommen immer nur ergebnisse, die mir sagen wie man benutzergruppen erstellt(bin leider kein experte in access..)
    das würde mir ggf. schonmal weiterhelfen...

    und sind die oben genannten, sonstigen schritte mit der system dsn richtig so ?
     
  4. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    mach macht das odbc_select_db da?

    hast du dir den link überhaupt angesehen - nein hast du nicht, weil sonst würdest du nicht mehr fragen

    je nach treiber übergibst du den datenbanknamen oder file im dsn.
     
  5. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    wie jetzt^^
    das odbc_select_db wählt aus der datenbank die dahinter genannte tabelle aus?
    und was genau sollte ich denn auf deinem link sehen, ich hab mir schon den text oben und ein paar von den kommentaren darunter durchgelesen, aber worauf du hinauswolltest konnte ich nocht nicht rauslesen, hilf mir auf die sprünge

    und was meinst du jetzt mit treibern?
    ich steig langsam nicht mehr durch, sollte vllt mal was andres machen heute^^
    odbc selbst ist doch nur eine möglichkeit/schnittstelle um auf eine datenbank per sql zuzugreifen ? wie genau kann der php code dann ohne webserver interpretiert werden, ich raffs einfach nicht

    edit/
    achso, du meinst weil ich danach ausgeben lasse, dass ich zu der db connectet habe und nicht zu der tabelle, oder?
     
  6. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    blöd nur das es die funktion "odbc_select_db" garnet gibt...

    und jetz lies dir mal die doku zu odbc_connect durch
     
  7. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    ist ja auch völlig tüte, selbst wenn ich (siehe erster post/code) den teil lösche, es tut sich 1. nix und 2. sind meine fragen auch nicht beantwortet
    und deine tolle doku hab ich jetzt 5 mal gelesen und worauf du hinaus willst solltest du mir verraten bevor du nochmal drauf verweist^^
     
  8. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    zuerstmal kommt drauf an was du mit odbc machen willst.

    bauen wir uns einmal einen dsn-string zusammen:

    odbc kann mit xsl, mdb-files, mysql, sqllite usw usf arbeiten. daher muss die funktion odbc_connect wissen was du ansteuern willst.

    der erste teil des dsn ist also der treiber (engl. driver)

    für mysql: DRIVER={MySQL ODBC 3.51 Driver};

    dann brauchen wir nen host wie bei mysql üblich:

    Server=localhost;

    und dann, jetzt pass auf, eine datenbank:

    Database=name_der_datenbank;

    daraus ergibt sich jetzt folgender dsn:

    Code:
    DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=name_der_datenbank
    und folgender php-code:
    PHP:
    $dbh  odbc_connect ( 'DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=name_der_datenbank' 'benutzer' 'passwort' );
    -----

    ich hab noch nie mit odbc gearbeitet und all das aus der doku kopiert
    PHP: odbc_connect - Manual

    mfg
     
  9. 3. Februar 2010
    AW: mit PHP AccessDb öffnen

    ich versteh halt aktuell rein grundlagenmäßig nicht was der treiber sein/machen soll, und woher ich ihn für access03 herbekomme,
    wenn ich per systemsteuerung/verwaltung folgendes mache:
    systemsteuerung - verwaltung - datenquellen(odbc) - system dsn - hinzufügen - Microsoft Access Treiber - ok - name eingetragen und entsprechende accessdb ausgewählt - ok
    dann habe ich ja quasi da den treiber ausgewählt und den odcb-dsn-''tunnel???'' freigeschalten,
    warum muss ich dann hier nochmal den treiber angeben? und wie gesagt, was ist er überhaupt?
    und die frage was genau der benutzername einer accessdatenbank ist hat sich mir auch noch nicht ergeben.

    aber trotzdem schonmal danke für deine hilfe
     
  10. 4. Februar 2010
    AW: mit PHP AccessDb öffnen

    php ist keine windows-programmiersprache. d.h. php tauscht sich nur sehr wenig mit deinem system aus (anders als vb/vc++/c#).

    aber egal, für access verwendest du folgenden dsn:
    Code:
    Driver={Microsoft Access Driver (*.mdb)};Dbq=name_des_db_files
    quelle: PHP: odbc_connect - Manual (zum 3ten mal in diesem thread)

    benutzername und passwort sprechen doch eigl für sich.
     
  11. 4. Februar 2010
    AW: mit PHP AccessDb öffnen

    du immer mit diesem komischen link^^ ... ich bin da irgendwann nicht mehr durchgestiegen gestern abend, sorry dafür... aber den treiber den du mir jetzt präsentierst der is ja aus der doku auch wieder in einem anderen zusammenhang zu sehen, bzw in einer anderen snippet-variante...
    afaik kann man anstelle dieser treiber angabe die du verwendet hast auf den system-dsn erstellen so wie ich es am anfang schon einmal beschrieben habe, aber egal...
    ich hab jetzt viel im internet gelesen und bin zu dem fazit gekommen, dass ich es wohl mit odbc sein lassen werde,
    so weit ich es jetzt beurteilen kann, ist eine accessdatenbank ab einer bestimmten größe(in meinem Fall ~1Gb) sowieso nicht annährend so schnell und pflegeleicht wie ein mysql oder m$sql server, und auch die funktionalität zwischen odbc und php soll eingeschränkt sein,
    wäre nett wenn du mir zu diesen beiden letzten aussagen vielleicht noch ein kurzes feedback geben könntest, ansonsten würd ich es jetzt dabei belassen und mich wirklich wirklich herzlich für deine hilfe bedanken, hast was gut bei mir, auch wenn ich in keinem gebiet wirklich solche pro-fähigkeiten aufweisen kann, dass du vllt was damit anfangen könntest ^^
    aber wie gesagt, echt großen dank
    bw ist schonmal während des threads rausgegangen, werde evtl. später wenn wieder möglich noch ein zwei dazusteuern, bis denn..
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.