SA-MP Forums Archive
Проблема с MySQL: не сохраняет дома в БД. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Проблема с MySQL: не сохраняет дома в БД. (/showthread.php?tid=330177)



Проблема с MySQL: не сохраняет дома в БД. - The_Creator - 31.03.2012

Дома добавляются в базу данных, но после покупки не сохраняются. В команде для покупки есть строка для сохранения дома SaveHouse(h); Добавляются из игры командой.
Сток сохранения:
Pastebin

Буду благодарен любой помощи и советам.


Re: Проблема с MySQL: не сохраняет дома в БД. - Stepashka - 01.04.2012

А дебагить пробовал?

PS если ты не знаешь как это и что это мне больше не о чем с тобой разговаривать. О том как производить самый простой дебаг программист должен знать в первую очередью.


Re: Проблема с MySQL: не сохраняет дома в БД. - TRPG - 01.04.2012

Возможно что размера строки не хватает, попробуйте увеличить размер массива sql.

И зачем вам mysql_free_result после UPDATE запроса?


Re: Проблема с MySQL: не сохраняет дома в БД. - Stepashka - 01.04.2012

Quote:
Originally Posted by TRPG
Посмотреть сообщение
И зачем вам mysql_free_result после UPDATE запроса?
А вы думаете UPDATE запрос не возвращает результатов?
Меня вот больше смутил LIMIT в данном запросе.


Re: Проблема с MySQL: не сохраняет дома в БД. - -Stranger- - 01.04.2012

Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.

Для других типов SQL-запросов, INSERT, UPDATE, DELETE, DROP и других, mysql_query() возвращает TRUE в случае успеха и FALSE в случае ошибки.


Re: Проблема с MySQL: не сохраняет дома в БД. - The_Creator - 01.04.2012

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
А дебагить пробовал?

PS если ты не знаешь как это и что это мне больше не о чем с тобой разговаривать. О том как производить самый простой дебаг программист должен знать в первую очередью.
Если Вы о mysql_debug, то да, я попробовал. В логе было UPDATE 'houses', но в базу не записало владельца(owner). Вот что в mysql_log.txt.
Буду очень благодарен, если кто-то поможет.


Re: Проблема с MySQL: не сохраняет дома в БД. - Stepashka - 01.04.2012

Quote:
Originally Posted by The_Creator
Посмотреть сообщение
Если Вы о mysql_debug
нет.


Re: Проблема с MySQL: не сохраняет дома в БД. - TRPG - 01.04.2012

Quote:
Originally Posted by The_Creator
Посмотреть сообщение
Если Вы о mysql_debug, то да, я попробовал. В логе было UPDATE 'houses', но в базу не записало владельца(owner). Вот что в mysql_log.txt.
Буду очень благодарен, если кто-то поможет.
Код:
[17:20:18] CMySQLHandler::Query(UPDATE `houses` SET `Owned`='0',`Entrancex`='1468.605',`Entrancey`='-906.184',`Entrancez`='54.835',`Exitx`='2196.849',`Exity`='-1204.128',`Exitz`='1049.023',`Owner`='The State',`ROwner`='None',`Discription`=' Test house',`Value`='75000',`Hel`='0',`Arm`='0',`Int`='6',`Lock`='0',`Rooms`='6',`Type`='2',`Rent`='0',`Rentabil`='0',`Takings`='0',`Mats`='0',`Drugs`='0',`Virtual`='2' WHERE `ID` = '6') - An error has occured. (Error ID: 1054, Unknown column 'Arm' in 'field list')
Похоже что в вашей таблице нет поля Arm. Из-за этого запрос не выполняется.

И уберите mysql_free_result из функции SaveHouse, вон ваша база ругается на него: [17:20:56] CMySQLHandler::FreeResult() - The result is already empty.


Re: Проблема с MySQL: не сохраняет дома в БД. - The_Creator - 01.04.2012

Quote:
Originally Posted by TRPG
Посмотреть сообщение
Код:
[17:20:18] CMySQLHandler::Query(UPDATE `houses` SET `Owned`='0',`Entrancex`='1468.605',`Entrancey`='-906.184',`Entrancez`='54.835',`Exitx`='2196.849',`Exity`='-1204.128',`Exitz`='1049.023',`Owner`='The State',`ROwner`='None',`Discription`=' Test house',`Value`='75000',`Hel`='0',`Arm`='0',`Int`='6',`Lock`='0',`Rooms`='6',`Type`='2',`Rent`='0',`Rentabil`='0',`Takings`='0',`Mats`='0',`Drugs`='0',`Virtual`='2' WHERE `ID` = '6') - An error has occured. (Error ID: 1054, Unknown column 'Arm' in 'field list')
Похоже что в вашей таблице нет поля Arm. Из-за этого запрос не выполняется.

И уберите mysql_free_result из функции SaveHouse, вон ваша база ругается на него: [17:20:56] CMySQLHandler::FreeResult() - The result is already empty.
Действительно пропустил, не углядел как то. Спасибо большое за помощь и советы.