Hallo progandy,
danke für die schnelle Antwort !
Ich habe in der Tat ein 64-Bit-Windows 7 intalliert.
Muss ich dann beim Programmieren irgendwelche Parameter anpassen ?
Die Software ist nämlich für 32- und 64-Bit-Systeme gedacht.
Wenn ich das richtig sehe, tritt der Fehler auf, da $connected 0 ist.
In der UDF wird er aber nicht 0 gesetzt. Die Fehlermeldung wird ja in der If-Verzweigung generiert.
In meinem Skript befinden sich noch keine MySQL-Abfragen, da ja noch keine Verbindung besteht.
Ich frage mich gerade allerdings: Kann es sein, dass hier überprüft wird, ob es möglich ist
$connected = 0 zu setzen. Beim Prüfen auf einen Wert muss doch "<>" verwendet werden, oder ?
Dann würde die Verbindung ja etabliert, aber dann durch den Wert 0 überschrieben.
Ich habe jetzt mal @error-Abfragen eingebaut.
Das Skript sieht nun wie folgt aus (ganze Funktion):
Func _connect() ;Server-Verbindungen herstellen
;FTP-Verbindung
Local $ftp_connection_data[5] ;Array für FTP-Verbindungsdaten
$ftp_connection_data[0] = "<>" ;FTP-Server
$ftp_connection_data[1] = "<>" ;FTP-User
$ftp_connection_data[2] = "<>" ;FTP-Passwort
$ftp_connection_data[3] = "1" ;Passiv-Modus
$ftp_connection_data[4] = "21" ;Server-Port
Global $ftp_session = _FTP_Open("FTP_SESSION") ;FTP-Session wird geöffnet
$ftp_connection = _FTP_Connect($ftp_session, $ftp_connection_data[0], $ftp_connection_data[1], $ftp_connection_data[2], $ftp_connection_data[3], $ftp_connection_data[4]) ;FTP-Verbindung herstellen
;MySQL-Verbindung
Local $db_connection_data[5] ;Array für MySQL-Verbindungsdaten
$db_connection_data[0] = "<>" ;MySQL-Server
$db_connection_data[1] = "<>" ;MySQL-User
$db_connection_data[2] = "<>" ;MySQL-Passwort
$db_connection_data[3] = "<>" ;MySQL-Datenbank
$db_connection_data[4] = "3306" ;Datenbank-Port
Global $mysql = _MySQL_InitLibrary() ;MySQL starten
If @error Then
MsgBox(0, "@error-Abfrage nach _MySQL_InitLibrary()", @error)
EndIf
Global $db_connection = _MySQL_Init() ;MySQL initialisieren
If @error Then
MsgBox(0, "@error-Abfrage nach _MySQL_Init()", @error)
EndIf
$connected = _MySQL_Real_Connect($db_connection, $db_connection_data[0], $db_connection_data[1], $db_connection_data[2], $db_connection_data[3], $db_connection_data[4]) ;MySQL-Verbindung herstellen
If @error Then
MsgBox(0, "@error-Abfrage nach _MySQL_Real_Connect()", @error)
EndIf
If $connected = 0 Then ;prüfen, ob Verbindung erfolgreich hergestellt wurde
$errno = _MySQL_errno($db_connection)
MsgBox(0,"Error", $errno & @LF & _MySQL_error($db_connection)) ;Ausgabe einer Fehlermeldung
If $errno = $CR_UNKNOWN_HOST Then
MsgBox(0,"Error", "$CR_UNKNOWN_HOST" & @LF & $CR_UNKNOWN_HOST) ;Ausgabe einer Fehlermeldung
_exit() ;Programm beenden
Endif
EndIf
EndFunc
Es kommen folgende Error-Meldungen:
- nach _MySQL_InitLibrary(): 2
- nach _MySQL_Init(): 1
- nach _MySQL_Real_Connect(): 3
- später: 0
Viele Grüße
sgfan