GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: sticky2 - 2015. Május 20. - 19:50:55

Cím: [MySQL] Hiába keresem, nem látom a hibát...
Írta: sticky2 - 2015. Május 20. - 19:50:55
Sziasztok!
Kb. fél órája nézem már és nem tudok rájönni mit írtam el :D
 
[19:29:41] [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 \' PlayerInfo[playerid][Kill], PlayerInfo[playerid][Death], PlayerInfo[playerid][s\' at line 1

 

..... slot3`=\'%d\',`slot4`=\'%d\',`slot5`=\'%d\',`slot6`=\'%d\',`ammo1`=\'%d\',`ammo2`=\'%d\',`ammo3`=\'%d\',`ammo4`=\'%d\',`ammo5`=\'%d\',`ammo6`=\'%d\',`hudcolor`=\'%s\',`ip`=\'%s\'  WHERE `username`=\'%s\', PlayerInfo[playerid][Kill], PlayerInfo[playerid][Death], PlayerInfo[playerid][score], PlayerInfo[playerid][Money], PlayerInfo[playerid][sex],PlayerInfo[playerid][Age]......... 

 
A másik pedig:
A betöltés így van megoldva:
 
             while(mysql_fetch_row_format(query,\"|\"))
      {
              mysql_fetch_field_row(savingstring, \"kills\"); PlayerInfo[playerid][Kill] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"deaths\"); PlayerInfo[playerid][Death] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"score\"); PlayerInfo[playerid][score] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"money\"); PlayerInfo[playerid][Money] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"sex\"); PlayerInfo[playerid][sex] = strval(savingstring);
...........

 
És ilyen warningokat ír:
 
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'0\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'1\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'2\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'3\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'4\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'5\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'6\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'7\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'8\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'9\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'10\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'11\')
...............
Cím: [MySQL] Hiába keresem, nem látom a hibát...
Írta: DrAkE - 2015. Május 21. - 15:19:09
Idézetet írta: sticky2 date=1432144255\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"54381\" data-ipsquote-contentclass=\"forums_Topic
Sziasztok!
Kb. fél órája nézem már és nem tudok rájönni mit írtam el :D
 
[19:29:41] [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 \' PlayerInfo[playerid][Kill], PlayerInfo[playerid][Death], PlayerInfo[playerid][s\' at line 1

 

..... slot3`=\'%d\',`slot4`=\'%d\',`slot5`=\'%d\',`slot6`=\'%d\',`ammo1`=\'%d\',`ammo2`=\'%d\',`ammo3`=\'%d\',`ammo4`=\'%d\',`ammo5`=\'%d\',`ammo6`=\'%d\',`hudcolor`=\'%s\',`ip`=\'%s\'  WHERE `username`=\'%s\', PlayerInfo[playerid][Kill], PlayerInfo[playerid][Death], PlayerInfo[playerid][score], PlayerInfo[playerid][Money], PlayerInfo[playerid][sex],PlayerInfo[playerid][Age]......... 

 
A másik pedig:
A betöltés így van megoldva:
 
             while(mysql_fetch_row_format(query,\"|\"))
      {
              mysql_fetch_field_row(savingstring, \"kills\"); PlayerInfo[playerid][Kill] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"deaths\"); PlayerInfo[playerid][Death] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"score\"); PlayerInfo[playerid][score] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"money\"); PlayerInfo[playerid][Money] = strval(savingstring);
                mysql_fetch_field_row(savingstring, \"sex\"); PlayerInfo[playerid][sex] = strval(savingstring);
...........

 
És ilyen warningokat ír:
 
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'0\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'1\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'2\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'3\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'4\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'5\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'6\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'7\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'8\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'9\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'10\')
[19:29:36] [WARNING] CMySQLResult::GetRowData - invalid row (\'1\') or field index (\'11\')
...............

 

Mondjuk ez helyett:
 
WHERE `username`=\'%s\', PlayerInfo[playerid][Kill]

 
Ez:
 
WHERE `username`=\'%s\'\", PlayerInfo[playerid][Kill]
Cím: [MySQL] Hiába keresem, nem látom a hibát...
Írta: sticky2 - 2015. Május 22. - 20:33:10
Ohh.. :D
Néha nagyon vak tudok lenni.
A warningokat amúgy kijavítottam, cache_get_row_field_contect használatával.