Newbie - welches DB-Modul

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Newbie - welches DB-Modul

    Hallo, ich fast neu in Serverscripting und völlig neu in PHP. Ich kenne aber schon ODBC und MySQL von Gehversuchen in den letzten Tagen (ASP). Meine Datenbanken werden MySQL und eventuell Access sein.

    Mit der folgenden Frage bin ich etwas lost: mit welchem DB-Modul soll ich in PHP/DB anfangen und lernen: mysql, odbc, pear ? An sich war mir odbc in den letzten Tagen recht und verständlich, aber die PHP-Bücher von O'Reilly sind auf pear ausgerichtet, und der odbc-Abschnitt im php-Handbuch von www.php.net hat etwas viele Funktionen für einen Einsteiger.

    Danke für Orientierungshilfe.
    Peter.

  • #2
    Ich empfehle dir, alle "direkten" Funktionen mindestens ebenfalls kennenzulernen. Wenn du gerade etwas mit MySQL-Anschluß schreibst, dann nutze die Gelegenheit, dich mit mysql_* besser vertraut zu machen.

    Spätestens wenn du fremden Code verstehen willst, wirst du es zu schätzen wissen.
    Außerdem sind die "direkten" Funktionen meist schneller.

    Kommentar


    • #3
      Danke. Womit soll ich anfangen?

      (ich kann die anderen methoden immer dazulernen oder passiv verstehen, das ist keine Frage)

      Kommentar


      • #4
        PHP und MS-Access passt nicht zusammen. Denn wenn du ein Webspace mit PHP hast dann ist der Server mit 99,99999%-ige Sicherheit ein Linux, der mit Access nicht viel anfangen kann, ausser als eine zusätzliche nutzlose Datei in seinem System zu betrachten. Also besser mit MySQL, PostgreSQL oder sogar MS-SQL (was auf einem anderen Server läuft versteht sich ) arbeiten. Vergisst erstmal PEAR, wenn du damit anfängst, hast du mit Sicherheit Grundlagenlücken, arbeite mit den integrierten Funktionen von PHP, um eine solide Grundlage aufzubauen, später kannst du dich dann mit anderen externen Komponenten befassen.

        Kommentar


        • #5
          Danke für das Antworten, allerdings hilft es mir nicht.
          - der Server ist mit 0.000001% Windows (ich habe im Lotto gewonnen),
          - er kann Access via ODBC bzw. DSN
          - die odbc ist im php.net Handbuch verwirrlich, weil es etwa 30 Funktionen in alphabetischer Reihenfolge sind, anstatt in funktioneller, und kaum ein zusammenhängendes Beispiel vorhanden ist.
          - die Bücher wiederum sind über pear und nicht über odbc.
          - PostGreSQL und MSSQL fallen auch flach. Damit fang ich nicht an und habe tatsächlich keinen Zugang. Ich habe nur Access (via ODBC, Jet und dgl) und MySQL.

          An PHP beeindruckt mich, dass es auf meinen WinXPHome auch läuft, und dass fileupload integriert ist. Deshalb nicht, Weil die ASP Lerntexte besser strukturiert sind)

          Ist es wirklich der einzige Zugang, das Wissen, das ich mir mit ASP mühelos erarbeitet habe, auf PHP zu übertragen? Deshalb, Weil die ASP Lerntexte besser strukturiert sind)

          Gibt es ein anderes Phorum?

          Kommentar


          • #6
            Hallo, liebe Eingeweihte, ich versuche meine Frage nochmals anders zu stellen.

            Gibt es eine kurze Anleitung, um mit dem odbc-Modul zu arbeiten?

            Welches ist das Standardverfahren, um auf mySQL zuzugreifen?

            für eine Antwort auf meine Frage wäre ich wirklich dankbar .


            Inzwischen habe ich auf meinem Notebook ein bb eingerichtet (mit Abyss, MySQL, phpmyAdmin, und phpBB) nur so um zu schauen, mein Ziel sind allerdings Eigenentwicklungen und nicht der Betrieb von phpBB.

            Огромное Вам Спасибо!!!!

            Kommentar


            • #7
              ich geh' davon aus, dass du mit COM umgehen kannst, daher verstehe ich dein Problem mit ODBC nicht, ist doch (fast) das Gleiche in grün

              Standardverfahren für mysql ist:
              _connect
              _select_db
              _query
              _fetch_row
              _close

              und _error an der richtigen Stelle verwenden. Aber das steht doch alles im Manual

              Kommentar


              • #8
                Nicht ganz, Du bringst 5 Funktionen in logischer Reihenfolge. mit ADO/ASP habe ich vielleicht etwa 10 Konstrukts gebraucht für die Abfrage und das ordentliche Auslesen des Result Sets.

                Aber im php manual (http://www.php.net/manual/de/function.odbc-tables.php) sind 50 Funktionen in alphabetischer Reihenfolge, wovon ich wohl auch nur etwa 10 braucht. Die 50 Funktionen sind nicht einmal nach deinen 5 Punkten strukturiert angeordnet (=Kriterium, Problem und Frage). Deshalb frage ich nach einer anderen handlicheren Beschreibung, vielleicht weisst du eine. Ich habe ganz einfach wenig Lust und im Moment eher beschränkte Möglichkeiten, mir aus der alphabetischen Liste vor- und rückwärts die relevanten herauszufischen. Ich muss noch viel anderes gleichzeitig erlernen.

                Vielleicht weisst Du ein anderes Forum, wo eine substanzielle Antwort zu bekommen wäre (anstatt derselben), oder eine lesbarere Beschreibung.

                Gruss, Peter

                Kommentar


                • #9
                  Hm ... wenn man schon mal mit ODBC in anderen Sprachen gearbeitet hat, dann ist es ja nicht schwer zu erraten, was man braucht. Außerdem kann man anhand der Bsp. in den (wenigen) User Contributed Notes schon etwa sehen wie's gemacht wird, sonst einfach klicken und lesen, sie sind nicht so viel dass man stundenlang damit verbringen muss.

                  Nein, ich kenne kein Tut oser sonst was, denn ich arbeite nur mit richtigen SQL-Servern

                  Kommentar


                  • #10
                    ich glaub ich entregeistrier mich hier im Moment.

                    Kommentar


                    • #11
                      ähm ... wie meinst du das?

                      Kommentar


                      • #12
                        (1) Dass auf der entsprechenden Seite

                        "Beschreibung
                        array odbc_fetch_array ( resource result [, int rownumber] )
                        Fetch an associative array from an ODBC query."
                        nicht steht, was key und value sind, macht aus der Beschreibung eine Befragung.
                        "

                        (2)
                        Im folgenden Code fehlt das löschen von $result und das diskonnekten. kannst du mir das bitte ergänzen.

                        Using your code, and taking it a step further, I can create a standard table from a single line of code by calling a function from my include file - the bonus is, that I can optionally provide a parameter for the name of my style sheet class - further simplifying my formatting of the table.

                        What synergy you find in these forums - eh?

                        $Conn = odbc_connect('dsn','user','pass');
                        $query = "SELECT * FROM yourtable";
                        $result = odbc_exec($Conn, $query) or die('Select failed!');

                        standard_table($result);

                        Function standard_table($result,$class='')
                        {
                        # To format your table if you want to use cascading style sheets
                        if ($class == '')
                        {
                        $css_table = ' border=1';
                        $css_tr = '';
                        $css_th = '';
                        $css_td = '';
                        }
                        else
                        {
                        $css_table = ' class=\"$class\"';
                        $css_tr = ' class=\"$class\"';
                        $css_th = ' class=\"$class\"';
                        $css_td = ' class=\"$class\"';
                        }

                        # Create field names for table header row
                        $i = 0;
                        $fCount = odbc_num_fields($result);
                        echo "<table$css_table><tr>";
                        while ($i < $fCount)
                        {
                        $i++;
                        $fName = odbc_field_name($result, $i);
                        echo "<th>$fName</th>";
                        }
                        echo "</tr>";

                        # Create table data rows for query result
                        $i = 0;
                        $fCount = odbc_num_fields($result);
                        while (odbc_fetch_row($result))
                        {
                        echo "<tr>";
                        while ($i < $fCount)
                        {
                        $i++;
                        $fName = odbc_field_name($result, $i);
                        $job[$fName] = odbc_result($result, $i);
                        echo "<td>$job[$fName]</td>";
                        }
                        echo "</tr>";
                        $i = 0;
                        }
                        echo "</table>";
                        }

                        Kommentar


                        • #13
                          ZB steht im Handbuch bei

                          $a or $b Oder TRUE wenn $a oder $b TRUE ist.

                          nicht, dass $b nicht ausgewertet wird, wenn $a true ist (sogenannte shortcut Auswertung). Die oft gesehenen Ausdrücke wie x = function_call() or die("message $code"); hängen in der Luft, computer-science-mässig gesehen. Für einen Einsteiger, der von solchen Dingen weiss, ist es irritierend. Ein Anfänger würde die Problematik überhaupt nicht sehen. Mathematisch ist
                          x = die("message $code") or function_call() aequivalent, und bei optimierenden Compilern/Interpretern echt vorzuziehen.

                          Das aber nur als Bemerkung, diese Hürde habe ich jetzt, obwohl ich lieber andere Sports betreibe.

                          Kommentar


                          • #14
                            Original geschrieben von PeterSwiss
                            (1) Dass auf der entsprechenden Seite

                            "Beschreibung
                            array odbc_fetch_array ( resource result [, int rownumber] )
                            Fetch an associative array from an ODBC query."
                            nicht steht, was key und value sind, macht aus der Beschreibung eine Befragung.
                            "
                            Nö, so sehe ich das nicht, denn bei array ist ein Link, wenn du darauf klickst, dann kommst du zu seiner Beschreibung und da steht auch, was ein assoziativer Array ist.

                            (2)
                            Im folgenden Code fehlt das löschen von $result und das diskonnekten. kannst du mir das bitte ergänzen.
                            kann ich nicht, denn das musst du selbst entscheiden, wann du die Connection schliesst. Die Regel heisst: sofort schliessen, wenn man nicht mehr braucht, spätestens aber am Ende des Scripts, und das gehört auch zum Allgemeinwissen, man muss das nicht nochmals explizit in Handbuch erwähnen.

                            Kommentar


                            • #15
                              Original geschrieben von PeterSwiss
                              ZB steht im Handbuch bei

                              $a or $b Oder TRUE wenn $a oder $b TRUE ist.

                              nicht, dass $b nicht ausgewertet wird,
                              ok, zugegeben, dass das nicht da steht, aber

                              1. es sind logische Operationen, und wir Menschen denken auch so, d.h. wir haben eine Lösung und/oder eine alternative Lösung dazu, so nun kommt die Priorität in Spiel, wer ist denn so unlogisch, dass er die alternative Lösung zu erst niederschreibt und dann die gewünschte anschliessend? Daher kann man das so akzeptieren, ansonstens try & error

                              2. PHP ist stark an C angelehnt (da auch in C geschrieben), daher besitzt PHP auch die meistens Eigenschaften, was C auch besitzt, was nicht verwunderlich ist.
                              EDIT:
                              btw: http://www.php.net/manual/en/ ist ein Referenzhandbuch und kein Programmierhandbuch, daher ist IMHO deine Beanstandungen fehl am Platze
                              Zuletzt geändert von asp2php; 25.02.2006, 11:45.

                              Kommentar

                              Lädt...
                              X