PHP Code:
//+------------------------------------------------------------------+
//| mySQLTester.mq4 |
//| Copyright ?2006, GP2X |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2006, GP2X"
#property link ""
#define DELIM ";"
//#include <mysql.mqh>
#import "libmysql.dll"
int mysql_init(int db);
int mysql_errno(int TMYSQL);
int mysql_real_connect( int TMYSQL,string host,string user,string password, string DB,int port,int socket,int clientflag);
int mysql_real_query(int TMSQL,string query,int length);
void mysql_close(int TMSQL);
int mysql_store_result(int TMSQL);
string mysql_fetch_row(int result);
int mysql_num_rows(int result);
void mysql_free_result(int result);
#import
int mysql;
int mTicket, mType;
string mSymbol;
double mLots, mOpen, mClose, mStopLoss, mTakeProfit;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
string row;
connect();
string query="Select concat(';',concat_ws(';', ticket, symbol, type, lots, open, close, stoploss, takeprofit)) from trades";
int length=StringLen(query);
mysql_real_query(mysql,query,length);
int result = mysql_store_result(mysql);
int numOfRows = mysql_num_rows(result);
for (int i=0;i<numOfRows;i++) {
row = mysql_fetch_row(result);
decodeTrade(row);
Comment("Ticket=", mTicket, ",Symbol=", mSymbol, ",Type=", mType, ",Lots=", mLots, ",Open=", mOpen, ",Close=", mClose, ",SL=", mStopLoss, ",TakeProfit=", mTakeProfit);
}
mysql_free_result(result);
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
mysql_close(mysql);
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
void connect() {
mysql = mysql_init(mysql);
if (mysql!=0) Print("allocated");
string host="localhost";
string user="GP2X";
string password="forex";
string DB="forex";
int clientflag=0;
int port=3306;
string socket="";
int res=mysql_real_connect(mysql,host,user,password,DB,port,socket,clientflag);
int err=GetLastError();
if (res==mysql) Print("connected");
else Print("error=",mysql," ",mysql_errno(mysql)," ");
}
void decodeTrade(string trade) {
int begin = StringFind(trade, DELIM)+1;
int end = StringFind(trade, DELIM, begin);
mTicket = StrToInteger(StringSubstr(trade, begin, end-begin));
begin = end+1;
end = StringFind(trade, DELIM, begin);
mSymbol = StringSubstr(trade, begin, end-begin);
begin = end+1;
end = StringFind(trade, DELIM, begin);
mType = StrToInteger(StringSubstr(trade, begin, end-begin));
begin = end+1;
end = StringFind(trade, DELIM, begin);
mLots = StrToDouble(StringSubstr(trade, begin, end-begin));
begin = end+1;
end = StringFind(trade, DELIM, begin);
mOpen = StrToDouble(StringSubstr(trade, begin, end-begin));
begin = end+1;
end = StringFind(trade, DELIM, begin);
mClose = StrToDouble(StringSubstr(trade, begin, end-begin));
begin = end+1;
end = StringFind(trade, DELIM, begin);
mStopLoss = StrToDouble(StringSubstr(trade, begin, end-begin));
begin = end+1;
end = StringLen(trade);
mTakeProfit = StrToDouble(StringSubstr(trade, begin, end-begin));
}