Nochmal kurz das Problem in der Übersicht:
Bei dem Versuch mit Hilfe eines PHP Scriptes (
Tutorial) eine Datenbankabfrage auszuführen wird:
1.
Eine Verbindung zu imap.meinserver.de aufgebaut
2.
Die Fehlermeldung "Der Remoteserver hat einen Fehler zurückgegeben: (404) Nicht gefunden." ausgegeben.
Der Anbieter meiner Domain ist webgo24.
Mein Code schaut in den entscheidenden Bereichen wie folgt aus:
|
Visual Basic Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
Private Sub cmdselect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdselect.Click
'Select ausführen
'Verbindung definieren
Dim Verbindung As cls_Datenbankzugriff
Verbindung = New cls_Datenbankzugriff
Dim myCollection As Net.PostCollection = New Net.PostCollection
'Parameter für das PHP-Script
myCollection.Add("SQLQuery", "select_all")
'Verbindung aufbauen und Daten holen/übergeben
Dim Rückgabewert As String = Verbindung.Zugriff(myCollection, "Abfrage.php", False)
If Rückgabewert = "Verbindungsfehler" Then 'Ist ein Verbindungsfehler aufgetreten
'Nichts machen, da die Meldung schon vom Verbinden angezeigt wird
ElseIf Rückgabewert = "Keine passenden Einträge vorhanden." Then 'Keine Einträge vorhanden
MsgBox("Keine passenden Einträge vorhanden.")
Else
'Zeilen und Spalten auflösen und in vListe einfügen
Call Splitten(Rückgabewert, vListe, 0, 2, 3, 1, 4, 5)
'Hier muss die Reihenfolge festgelegt werden,
'in welcher die Spalten vom PHP-Script zurückgegeben werden.
'In ListView einfügen
For i As Integer = 0 To vListe.Count - 1
lsvHaupt.Items.Add(New ListViewItem(New String() {vListe(i).ID, vListe(i).Name, vListe(i).Nachname, vListe(i).Anrede, vListe(i).Straße, vListe(i).Nr}))
Next
End If
MsgBox(Rückgabewert)
End Sub
|
|
Visual Basic Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Public Class cls_Datenbankzugriff
''' <summary>
''' Verbindet zu einer MySQL-Datenbank und gibt die angeforderten Daten zurück.
''' </summary>
''' <param name="vPostCollection">Erforderlich. Die Parameter welche an das PHP-Script geschickt werden.</param>
''' <param name="File">Erforderlich. Die Datei auf welcher der Befehl ausgeführt werden soll.</param>
''' <param name="Fehlerausgabe">Optional. Gibt an, ob die Fehlerausgabe Aktiviert ist.</param>
''' <returns>Gibt den Rückgabewert des PHP-Scripts zurück.</returns>
''' <remarks></remarks>
Public Function Zugriff(ByVal vPostCollection As Net.PostCollection, ByVal File As String, Optional ByVal Fehlerausgabe As Boolean = True)
Try
Dim myrequest As Net.HTTPPostRequest = New Net.HTTPPostRequest
Dim Ergebnis As String = myrequest.Create(IO.Path.Combine("http://www.meinedomain.de/files", File), vPostCollection)
Return Ergebnis
Catch ex As Exception
If Fehlerausgabe = True Then 'Wenn Fehlerausgabe aktiv, den Fehler Ausgeben
MessageBox.Show("Folgender Fehler ist aufgetreten: " & vbNewLine & ex.Message, "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Return "Verbindungsfehler"
End Try
End Function
End Class
|
Danke für eure Hilfe
mfg Homer