Cze??, bawi? si? tworzeniem rejestracji w zapisie bazodanowym. Zrobi?em pierwszy imput, kt?ry pobiera od u?ytkownika has?o do rejestracji - tworzy si? pozycja z nazw? gracza i wpisanym przez niego has?em :
Tutaj wszystko dzia?a - nast?pnie przechodz? do pobrania daty urodzin postaci - jest DIALOG_STYLE_INPUT, kt?ry pojawia si? po pobraniu nowego has?a :
Jednak ?adna warto?? nie wpisuje si? do bazy, w polu "char_birth" ca?y czas widnieje "0".
Pr?bowa?e? bezpo?rednio wklepa? zapytanie w phpmyadmin? Je?eli nie to sprawd? to, kolejna sprawa wyprintuj inputtexta.
Wstaw to gdzie? przed zapytanie i sprawd? logi: printf("inputtext: %d", strval(inputtext));
Je?eli w logach Ci wy?wietli poprawn? warto?? to spr?buj sprintf'a zmieni? na zwyk?ego formata.
Po za tym zamiast pobiera? w k??ko nick gracza zapisz go do tablicy jakiej? i zr?b sobie makro na np. GetPlayerNick(playerid);.
Inputtext dobrze wywala - dostaj? info w MySQL _logs. Co do GetPlayerNick - masz na my?li tak? zmienn? globaln?? Mam zamiar tak? zrobi?, p?ki co - to wiesz, wszystko jest tak roboczo, ?eby ustawi? to w og?le na dzia?anie. Bezpo?rednio do bazy danych na twardo jeszcze nie ma sensu wpisywa?, bo i tak nic to nie da, skoro chc? to wstawia? dynamicznie - a co do format zamiast sprintf - jaka b?dzie w tym r??nica? Szczerze powiedziawszy nie do ko?ca akurat rozumiem tego elementu sk?adni - g?upie pytanie - kto pyta, nie b??dzi! Dzi?ki za zainteresowanie i !
LOG z b??dem :
[ERROR] CMySQLQuery::Execute - (error #1054) Unknown column 'Adi_Adis' in 'where clause' (Query: "UPDATE ipb_characters SET char_birth = 1989 WHERE char_name = Adi_Adis")
Je?eli chodzi o GetPlayerNick to jak gracz si? po??czy pobierasz jego nick poprzerz GetPlayerName(..) i zapisujesz do zmiennej globalnej gracza np. PlayerName[playerid] i sobie tworzysz makro #define GetPlayerNick(%0) PlayerName[%0], takie ma?e u?atwienie.
Co do tego sztywnego wklepywania zapyta? do phpmyadmin to chodzi mi tutaj o przetestowanie czy to zadzia?a (czy wszystko jest dobrze z zapytaniem) i czy nie wywali b??d?w.
Je?eli chodzi o sprintf a format to chodzi?o tu bardziej o przetestowanie czy na zwyk?ym formacie to zadzia?a. Sam u?ywam biblioteki strlib i w niekt?rych przypadkach lepiej si? sprawdza sprintf ni? zwyk?y format.
Jak mo?esz to zr?b screenshota tej tabeli bo co? masz nie tak w strukturze / brak rekordu o tej nazwie.
Dobra - najpierw spr?buj? z tym kodem, co podrzuci?e? - chocia? wydaje mi si?, ?e ju? i tego pr?bowa?em - siedzia?em przy tym wczoraj od 19 do 01:00, troch? pr?b by?o Dam zaraz zna?, co z tego wynik?o
[ Dodano: 2017-05-18, 21:50 ]
@ 21:45:33 05/18/17] [ERROR] CMySQLQuery::Execute - (error #1054) Unknown column '1989' in 'field list' (Query: "UPDATE `ipb_characters` SET char_birth = `1989` WHERE char_name = 'Test_Testowy'") -> taki mamy tutaj LOG (tak, poda?em 1989 rok W GRZE - warto?? "dynamicznie" jako tako"dobrze" si? przenios?a)
[ Dodano: 2017-05-18, 22:02 ]
Je?eli o to chodzi - typ char_birth to mediumint(4) - wi?c teoretycznie wszystko si? zgadza. Podstawow? kolumn? jest char_uid
ALE chyba mnie naprowadzi?e?. Tutaj jest napisane, ?e nie ma ustawienia domy?lnego (te "0" mnie zmyli?o) - wi?c mo?e najpierw trzeba te? tutaj da? inserta. Naprowadzi?e? mnie na pomys?, zaraz dam zna?, jak posz?o
Ostatnio zmieniony przez Vreu 2017-05-18, 22:04, w całości zmieniany 1 raz
- chcia?em w warto?ci, kt?re w bazie widniej? jako "brak" ustawi? na "0", wtedy mo?e "UPDATE" by dzia?a?o. Jednak przy rejestracji nadal warto?? "char_birth" nie "aktualizuje" si?.
Czy takie zapytanie powinno wygl?da? tak? :
UPDATE `ipb_characters` SET `char_birth`= 1989 WHERE `char_name`= Test_Testowysb
Je?eli jest dobrze, to pokazuje taki b??d:
#1054 - Nieznana kolumna 'Test_Testowysb' w where clause
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach