Я немогу разобраться как добраться до данных... Вот в чем проблема. Ошибка 2014 решена, таким способом
while(mysql_fetch_row(res) != ""){
// чет делаем
}
а как одратиться к определенному полю в таблице?
1. Если вышеприведённый код - в эксперте, желательно открывать доступ к базе и саму базу непосредственно перед запросом, затем её закрыть.
2. Если мы хотим получить от базы mysql_fetch_row:
$row = mysql_fetch_row(mysql_query("SELECT * FROM table WHERE a='b' ")); где a - колонка в таблице.
в PHP, $row будет массивом.
1. Если вышеприведённый код - в эксперте, желательно открывать доступ к базе и саму базу непосредственно перед запросом, затем её закрыть.
2. Если мы хотим получить от базы mysql_fetch_row:
$row = mysql_fetch_row(mysql_query("SELECT * FROM table WHERE a='b' ")); где a - колонка в таблице.
в PHP, $row будет массивом.
Это все да.... про PHP я знаю... так как сам ПХП-шник.... Но дело в том что что когда используешь "C" интерфейс с libmysql.dll - и делаешь выборку хотяб одной записи из MySql, результат возвращаеться в виде "Структуры данных". В "С" Добраться до результатов можно через такую конструкцию ...
...
string result = mysql_fetch_row(mysql_real_query("SELECT * FROM `table` WHERE `id` = 1"));
int id = result->id;
... // гдето так, код может быть не точным... писал по памяти.
MQL4 - не позволяет ТАК обращаться к данным. Вот тут то и проблема... Единственный выход который я вижу, это писать свою DLL которая бы возвращала значения в типе Array а не Структуру.
Доброго времени суток, господа,
У меня такой вопрос: MySQL ограничивает максимальное чисто столбцов в таблице, если быть точнее, то максимальное возможное количество столбцов 1000, кто-нибудь знает, как это ограничение можно снять и можно ли вообще? Если нет, то какая БД позволяет создавать таблицы с более чем 3000 столбцов?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пытаюсь сделать выборку.
#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);
#import
int mysql;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init(){
mysql = mysql_init(mysql);
if(mysql != 0)
Print("allocated");
string host = "localhost";
string user = "root";
string password = "";
string DB = "database";
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), " ");
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
mysql_close(mysql);
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start(){
string query = "";
int length = 0;
query = "SELECT * FROM `orders`";
length = StringLen(query);
mysql_real_query(mysql, query, length);
int myerr = mysql_errno(mysql);
if(myerr > 0){
Print("error=",myerr);
}else{
Print("error=0");
}
return(0);
}
первый запрос проходит без ошибок . потом выдает 2014 ошибку
Что с этим делать и как в конце концов достучаться до того что я выбрал?Error: 2014 ( CR_COMMANDS_OUT_OF_SYNC )
Message: Commands out of sync; you can't run this command now