Skocz do zawartości
Jaev

sscanf warning: String buffer overflow.

Rekomendowane odpowiedzi

Nauki MySQL, błędów ciąg dalszy:

[20:13:21] sscanf warning: String buffer overflow.
	[20:13:21] sscanf warning: Unknown format specifier '[', skipping.
	[20:13:21] sscanf warning: Strings without a length are deprecated, please add a destination size.
	[20:13:21] sscanf warning: Unknown format specifier '3', skipping.
	[20:13:21] sscanf warning: Unknown format specifier '2', skipping.
	[20:13:21] sscanf warning: Unknown format specifier ']', skipping.
	 
	---
	To musi być ten stock bo przy jego usunięciu jest wszystko OK.
	---
	stock LoadDocks()
	{
	    new data[128], query[128];
	    format(query, sizeof(query), "SELECT * FROM `docks`");
	    mysql_query(query);
	    
	    mysql_store_result();
	    if(mysql_fetch_row(data, "|"))
	    {
	        sscanf(data, "p<|>d[s32]fff",
	            DockInfo[dUID],
	            DockInfo[dName],
	            DockInfo[dPosX],
	            DockInfo[dPosY],
	            DockInfo[dPosZ]
	        );
	    }
	    
	    mysql_free_result();
	}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No tak faktycznie, szybkie pisanie i takie skutki ale zostało

 

[21:33:14] sscanf warning: String buffer overflow.

Dodaję screen struktury bazy

Bez tytułu.jpg

Edytowane przez Jaev

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Toć tak teraz mam:

 

sscanf(data, "p<|>ds[32]fff",
	            DockInfo[dUID],
	            DockInfo[dName],
	            DockInfo[dPosX],
	            DockInfo[dPosY],
	            DockInfo[dPosZ]

 

Edytowane przez Jaev

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dodam, że LoadDocks(); jest w OnGameModeInit a ładuję się też przy wejściu gracza ._.

 

[09:47:49]        Polaczono z baza danych!              
	[09:47:49] 1|Red County|10|10|5 &lt;- wynik printf
	[09:47:49] Number of vehicle models: 0
	[09:48:50] [connection] 127.0.0.1:60754 requests connection cookie.
	[09:48:51] [connection] incoming connection: 127.0.0.1:60754 id: 0
	[09:48:51] [join] Test has joined the server (0:127.0.0.1)
	[09:48:51] Stworzono 100 doków!
	[09:48:51] sscanf warning: String buffer overflow.
	[09:48:52] [MySQL] Connected (0) to '---'.
	[09:48:52] [MySQL] Server Version 5.5.47-0+deb8u1.
	[09:48:52]        Polaczono z baza danych!              
	[09:48:52] 1|Red County|10|10|5 // &lt; - wynik printf
	[09:48:58] [part] Test has left the server (0:1)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak błąd był w stringu z zapytaniem do bazy danych przy tworzeniu użytkownika. Poprawiłem go, aczkolwiek mam teraz problem bo nie dodaje mi go do bazy:

	new 
                    salt_1[26] = "-",
                    salt_2[26] = "-",
                    hash_pass[84],
                    query[128];
	                format(hash_pass, sizeof hash_pass, "%s%s%s", salt_1, inputtext, salt_2);
	                format(query, sizeof(query), "INSERT INTO `users` (`name`, `pass`,) VALUES('%s', '%s')", 
                    PlayerName(playerid), hash_pass);
                    
                mysql_query(query);
                mysql_free_result();

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Post z innego twojego tematu. 

O 28.05.2016 o 10:37, Beata_Szydlo_2015 napisał:

Spoko na drugi raz polecam koło mysql_query(query) dodac print(query) w tedy golym okiem zobaczysz ze cos jest nie tak a nawet jesli zapytanie bedzie cale to wkleisz je do phpMyAdmina i tam Ci normalnie błąd pokaże. 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×