MassonNN
24.05.2020, 18:10
func SaveCodex() {
query = "";
for(new i; i < CODEX_MAX; i++) {
strcat(query, "UPDATE `Codex` SET ");
format(string256, 150, "`Name` = '%s', ", Codex[i][codexName]);
strcat(query, string256);
format(string256, 150, "`Stars` = '%d' ", Codex[i][codexStars]);
strcat(query, string256);
format(string256, 128, "WHERE `id` = '%d'", i);
strcat(query, string256);
mysql_query(dbHandle, query, false);
}
return 1;
}
Пробовал посмотреть такую инфу по инету, решения так и не нашел
Проблема заключается вот в чем. При вызове функции запросы начинают накладываться друг на друга, и в итоге в MySql я получаю следующее:
[13:32:43 05/24/20] [ERROR] CMySQLQuery::Execute - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `Codex` SET `Name` = 'Вторая статья', `Stars` = '0' WHERE `id' at line 1 (Query: "UPDATE `Codex` SET `Name` = '11', `Stars` = '0' WHERE `id` = '0'UPDATE `Codex` SET `Name` = 'Вторая статья', `Stars` = '0' WHERE `id` = '1'UPDATE `Codex` SET `Name` = 'Третья статья', `Stars` = '0' WHERE `id` = '2'UPDATE `Codex` SET `Name` = 'Четвертая статья', `Stars` = '0' WHERE `id` = '3'UPDATE `Codex` SET `Name` = 'Пятая статья', `Stars` = '0' WHERE `id` = '4'UPDATE `Codex` SET `Name` = 'Шестая статья', `Stars` = '0' WHERE `id` = '5'UPDATE `Codex` SET `Name` = 'Седьмая статья', `Stars` = '0' WHERE `id`")
[13:32:43 05/24/20] [DEBUG] mysql_query - connection: 1, query: "UPDATE `Codex` SET `Name` = '11', `Stars` = '0' WHERE `id` = '0'", use_cache: false
Пробовал вбивать в phpmyadmin запросы отдельно - все ок, проблем с синтаксисом нет.
query = "";
for(new i; i < CODEX_MAX; i++) {
strcat(query, "UPDATE `Codex` SET ");
format(string256, 150, "`Name` = '%s', ", Codex[i][codexName]);
strcat(query, string256);
format(string256, 150, "`Stars` = '%d' ", Codex[i][codexStars]);
strcat(query, string256);
format(string256, 128, "WHERE `id` = '%d'", i);
strcat(query, string256);
mysql_query(dbHandle, query, false);
}
return 1;
}
Пробовал посмотреть такую инфу по инету, решения так и не нашел
Проблема заключается вот в чем. При вызове функции запросы начинают накладываться друг на друга, и в итоге в MySql я получаю следующее:
[13:32:43 05/24/20] [ERROR] CMySQLQuery::Execute - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `Codex` SET `Name` = 'Вторая статья', `Stars` = '0' WHERE `id' at line 1 (Query: "UPDATE `Codex` SET `Name` = '11', `Stars` = '0' WHERE `id` = '0'UPDATE `Codex` SET `Name` = 'Вторая статья', `Stars` = '0' WHERE `id` = '1'UPDATE `Codex` SET `Name` = 'Третья статья', `Stars` = '0' WHERE `id` = '2'UPDATE `Codex` SET `Name` = 'Четвертая статья', `Stars` = '0' WHERE `id` = '3'UPDATE `Codex` SET `Name` = 'Пятая статья', `Stars` = '0' WHERE `id` = '4'UPDATE `Codex` SET `Name` = 'Шестая статья', `Stars` = '0' WHERE `id` = '5'UPDATE `Codex` SET `Name` = 'Седьмая статья', `Stars` = '0' WHERE `id`")
[13:32:43 05/24/20] [DEBUG] mysql_query - connection: 1, query: "UPDATE `Codex` SET `Name` = '11', `Stars` = '0' WHERE `id` = '0'", use_cache: false
Пробовал вбивать в phpmyadmin запросы отдельно - все ок, проблем с синтаксисом нет.