kostenloser Webspace werbefrei: lima-city


ODBC Array Fehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    phpdblernen

    phpdblernen hat kostenlosen Webspace.

    Ich bin am umschreiben eines Scripts. Nun habe ich damit ein problem.

    ich habe ein domainsuchscript, welcher ich von einer tabelle in eine tag/datenbank">datenbank transferieren möchte.
    die datenban und auch der normale select befehl funktioniert einwandfrei.
    nur das mit dem array funktioniert aus meiner sicht nicht korrekt. Der Fehler erscheint, wenn das Formular abgeschickt wird.
    ===
    php_network_getaddresses: getaddrinfo failed: Die angegebene Host/Datei ist unbekannt. (0)
    =====

    der script sah bisher so aus.
    <?php
    $whoisservers = array (
      'de' => 'whois.denic.de',
      'com' => 'whois.internic.net',
      'net' => 'whois.internic.net',
    );
    ?>


    neu geschriebener script.
    <?php
    $_DSN = "dbserver";
    $_User = "dbuser";
    $_PW = "dbpasswort";
    $_conn = odbc_connect($_DSN, $_User, $_PW) or die("Verbindung fehlgeschlagen");
    
    $SQL1 = "SELECT * FROM domain";
    $SQL1R = odbc_exec($_conn, $SQL1);
    $zeile =",";
    $spalte =" => ";
    $trenzeichen ="'";
    while($SQL1Z = odbc_fetch_array($SQL1R)) 
    {
    $whoisservers = $whoisservers . $trenzeichen. $SQL1Z["domainendung"] .$trenzeichen.$spalte.$trenzeichen. $SQL1Z["domainverwalter"] .$trenzeichen.$zeile;
    }
    ?>


    was habe ich falsch gemacht?


    ansicht per web: http://test.sonne.goip.de/index.php

    datei zum downloaden. http://test.sonne.goip.de/web.zip


    Beitrag zuletzt geändert: 31.8.2014 15:13:35 von phpdblernen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi phpdblernen,

    $SQL1Z sollte ein assoziatives array sein und wird dann in der Schleife an das $whoisservers array "angehangen" mittels der eckigen klammern (zwischen den klammern ist erst einmal nichts)

    while($SQL1Z = odbc_fetch_array($SQL1R)){
      $whoisservers[] =$SQL1Z ;
    }
    echo'<pre>';
    print_r($whoisservers);
    echo'</pre>';


    Dies würde Dir zumindest zeigen, was odbc_fetch_array() Dir liefert,
    besser gefällt es Dir wahrscheinlich, wenn Du $whoisservers gleich richtig aufbaust, also mit

    while($SQL1Z = odbc_fetch_array($SQL1R)){
      $whoisservers[$SQL1Z['domainendung']] =$SQL1Z['domainverwalter'] ;
    }
    echo'<pre>';
    print_r($whoisservers);
    echo'</pre>';

    leider weiss ich aber nicht wie Deine Datenbank aufgebaut ist, bzw. was dann odbc_fetch_array Dir wirklich liefert, deshalb ist der zweite Code Schnipsel sehr mit Vorsicht zu genießen.
    Fazit:
    Also wenn Datenbank erreichbar und SQL Syntax korrekt, und odbc_fetch_array die Funktion Deiner Wahl dann sollte es funktionieren.

    zum vergleich ohne SQL-Abfrage:

    for($i=1;$i<=10;$i++){
    $test_array[$i]='test'.$i;
    }
    echo'<pre>';
    print_r($test_array);
    echo'</pre>';


    führt zu:

    Array
    (
    [1] => test1
    [2] => test2
    [3] => test3
    [4] => test4
    [5] => test5
    [6] => test6
    [7] => test7
    [8] => test8
    [9] => test9
    [10] => test10
    )

    btw:
    das "schicke" untereinander schreiben kommt mit dem html tag <pre>
    und das "=>" ist somit ein "Pfeil" um Dir zu sagen, daß Feld[1] mit Wert "test1" belegt ist usw.
    Dein $whoisservers-Konstrukt versucht die Darstellung am Bildschirm "nachzubauen", warum auch immer
    :)

    cu
    harro
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!