SaveVehicle(i)
{
if(i < 0 || i >= sizeof(VehInfo)) return 1;
new query[512];
mysql_format(handle, query, sizeof(query), "UPDATE Auto SET ModellID = '%d', Fraktion = '%d', PosX = '%f', PosY = '%f', PosZ = '%f', PosR = '%f', Abgeschleppt = '%d', inADAC = '%d', Name = '%e', Grund = '%e', Preis = '%d', ",
VehInfo[i][ModellID], VehInfo[i][Fraktion], VehInfo[i][PosX], VehInfo[i][PosY],VehInfo[i][PosZ],VehInfo[i][PosR],VehInfo[i][Abgeschleppt],VehInfo[i][inADAC],VehInfo[i][Named],VehInfo[i][Grund],VehInfo[i][Preis]);
mysql_format(handle, query, sizeof(query), "%sNewX = '%f', NewY = '%f', NewZ = '%f', NewR = '%f', Farbe1 = '%d', Farbe2 = '%d', Sirene = '%d', eSirene = '%d' WHERE ID = '%d'",query,
VehInfo[i][NewX],VehInfo[i][NewY],VehInfo[i][NewZ],VehInfo[i][NewR],VehInfo[i][Farbe1],VehInfo[i][Farbe2],VehInfo[i][Sirene],VehInfo[i][eSirene],i);
mysql_tquery(handle, query);
printf("query: %s", query);
return 1;
}
SaveVehicles()
{
for(new i=0; i < sizeof(VehInfo); i++) SaveVehicle(i);
return 1;
}
Alles anzeigen
Du hast in Zeile 10 ein printf(), schau dir den Query an und führe ihn manuell über phpMyAdmin aus. Je nach Antwort des Servers, lässt sich drei Möglichkeiten erschließen:
- Der Query erfüllt nicht die Rahmenbedingungen für einen SQL Befehl (zu kurz, falsche Formatierung, ...).
- SaveVehicles() / SaveVehicle() wird nicht ordnungsgemäß oder gar nicht aufgerufen.
- Es wird kein Datensatz verändert, da der Index nicht der DatenbankID entspricht.