| 
 
 
	
		
		
			| Непонятная ошибка |  |  |  | 
| Entity | Дата: Понедельник, 05.03.2018, 15:14:29 | Сообщение # 1 |  |   
|  |  | Сообщений: 67 Репутация: 1 [ +/- ]
 |  | Доброго времени суток, друзья. Столкнулся с непонятной ошибкой, надеюсь на вашу помощь.
 Мой код:
 
 Код CreateClient(client)
 {
 decl String:auth[32], String:name[128], String:query[256];
 GetClientName(client, auth, sizeof(auth));
 SQL_EscapeString(g_hDataBase, auth, name, sizeof(name));
 GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth));
 FormatEx(query, sizeof(query), "INSERT INTO `mute` (\
 `uname`,\
 `usteam`,\
 `vtime`,\
 `ctime`,\
 `vreason`,\
 `creason`,\
 `vaname`,\
 `caname`,\
 `vasteam`,\
 `casteam`) VALUES ('%s', '%s', '%i', '%i', '%i', '%i', '%s', '%s', '%s', '%s');",
 name, auth, g_iVoiceTime[client], g_iChatTime[client], g_iVoiceReason[client], g_iChatReason[client], g_sVoiceAdminName[client], g_sChatAdminName[client], g_sVoiceAdminSteam[client], g_sChatAdminSteam[client]);
 
 SQL_TQuery(g_hDataBase, SQL_CreateClientCallback, query, GetClientUserId(client));
 }
 
 public SQL_CreateClientCallback(Handle:owner, Handle:hndl, const String:error[], any:userid)
 {
 if (error[0])
 {
 LogError("Fail create client: %s", error);
 return;
 }
 
 new client = GetClientOfUserId(userid);
 
 if (client > 0)
 {
 g_iId[client] = SQL_GetInsertId(hndl);
 }
 }
 
 
 Ошибка: Fail create client: near ",": syntax error
 
 
 Сообщение отредактировал Entity - Понедельник, 05.03.2018, 15:18:46 |  |  |  |  |  | 
| _wS_ | Дата: Понедельник, 05.03.2018, 22:50:53 | Сообщение # 2 |  |   | Всё время выдаёт или иногда?Если иногда, то может из-за символов в нике? (догадка).
 Я ник так получаю:
 
 
 Код stock SqlProtectString(String:s[]){
 new x = strlen(s);
 for (new i = 0; i < x; i++)
 {
 if (s[i] == '\\' || s[i] == '"' || s[i] == '\'')
 s[i] = '_';
 }
 return TrimString(s);
 }
 
 stock SqlGetClientName(client, String:name[], maxlength)
 {
 if (!GetClientName(client, name, maxlength) || SqlProtectString(name) < 1)
 strcopy(name, maxlength, "-");
 }
 Еще можно делать не INSERT INTO, а INSERT IGNORE INTO (mysql), INSERT OR IGNORE INTO (sqlite).
 Т.к. если сделать просто INSERT INTO и запись уже есть, то вернёт ошибку, не помню какую.
 
 Если у тебя тип поля int, то пробуй и вставлять значение как int, не оборачивая в 'кавычки'.
 Ещё в лог выведи весь запрос, может 256 мало.
 
 Погуглил эту ошибку, чтот ничего полезного не нашлось + у меня такой ошибки не было вроде никогда.
 В самом запросе всё ровно, хотя попробуй убрать ; в конце.
 Может проблема не тут, а там где таблица создаётся.
 
 Но это всё догадки, в голову пока больше ничего не пришло
  |  |  |  |  |  | 
| Entity | Дата: Вторник, 13.03.2018, 18:08:34 | Сообщение # 3 |  |   
|  |  | Сообщений: 67 Репутация: 1 [ +/- ]
 |  | _wS_, ошибка иногда возникает. Спасибо за советы, буду разбираться  
 Добавлено (13.03.2018, 18:08:34)
 ---------------------------------------------
 Не буду создавать отдельную тему, спрошу тут же. Ситуация следующая. Приличное кол-во плагинов привязаны к одной БД, но таблицы разные. То есть, у каждого плагина своя таблица. Будет ли разница, если каждую таблицу подключать к отдельной БД? А именно, интересует разница в скорости получения ответа из БД.
 
 
 Сообщение отредактировал Entity - Вторник, 13.03.2018, 19:38:27 |  |  |  |  |  | 
| _wS_ | Дата: Вторник, 13.03.2018, 18:41:11 | Сообщение # 4 |  |   |  |  |  |  |  |  | 
| Entity | Дата: Вторник, 13.03.2018, 19:37:24 | Сообщение # 5 |  |   
|  |  | Сообщений: 67 Репутация: 1 [ +/- ]
 |  | _wS_, спасибо. 
 P.S. Прочитал приличное количество статей. Вкратце скажу, что существенной разницы не будет. Но, всё-таки, большая аудитория людей рекомендуют использовать одну БД под многие таблицы.
 |  |  |  |  |  
 |