ODBC Array Fehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
angegebene host
array
befehl
code
datei
datenbank
eckigen klammern
falsch gemacht ansicht
fazit
http
pfeil
sonne
spalte
tag
test
vorsicht
weben
zeile
zweite code
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage