Здравствуйте!
Ниже приведён код для подключения к удалённой базе MySQL.
Но код не работает. Не работает - это значит не вставляет строчку в БД.
Компилятор не выдаёт ошибок. Единственное, при смене файла libmysql.dll на новый-другой версии, пишет что "клиент не соответствует" и т.д - похоже, что просит другую версию dll.
Подскажите, где тут ошибка -как отследить?
И где взять нужную мне версию libmysql.dll? В интернете их полно. Качал и пробовал разные (и libmysql - 5)- результата пока нет.
Устал менять dll
Веб-сервер, где находится БД
nginx/1.4.1
Версия клиента базы данных: libmysql - 5.0.77
;Подключение к БД
#libmysql = 1
host.s = "90.50.93.20"
user.s = "new11_base"
passwd.s = "112233"
db.s = "new11_base"
port.l = 3306
dbHnd.l
SQL.s
row.s
i.l
j.l
affRows.l
fieldNum.l
rowsNum.l
Procedure.s GetError(db_ID,requester)
Protected Errormsg.s, i.l, Error.l
If CallFunction(#libmysql,"mysql_errno",db_ID) > 0
*Error =CallFunction(#libmysql,"mysql_error",db_ID)
i=-1
Repeat
i=i+1
Errormsg=Errormsg+PeekS(*Error+i,1)
Until PeekB(*Error+i)=0
If requester
Result= MessageRequester("MySQL error",Errormsg,#PB_MessageRequester_Ok)
EndIf
EndIf
ProcedureReturn Errormsg
EndProcedure
If OpenLibrary(#libmysql,"libmysql.dll")
Result=CallFunction(#libmysql,"mysql_init",dbHnd)
If Result
dbHnd = Result
If CallFunction(#libmysql,"mysql_real_connect",dbHnd, @host, @user, @passwd, @db, port, @"", 0) = 0
GetError(dbHnd,1)
Else
CallDebugger
myrec=1
my=1
MessageRequester("Сообщение","Сообщение")
SQL.s = "INSERT INTO records (record,time) VALUES ("+Str(myrec)+","+Str(myt)+")"
Debug SQL
; SQL = "SELECT * FROM records"
EndIf
EndIf
EndIf