Auch ich melde mich in der Scripting Base wieder
Knapp 1 Jahr nichts mit MySQL gemacht, war dabei alles mögliche mit MySQL zu verbinden und stoße schon recht am Anfang auf ein Problem:
Ich rufe den Stock auf und gebe den Wert 5 mit als bizid.
Folgendes Problem: bizid hat auch den Wert 5, allerdings speichert er mir das in die Zeile darunter. (bizid6) Versucht bizid -1 zu speichern allerdings bringt das die Werte durcheinander.
stock BizSpeichern(bizid)
{
new query[512];
printf("ID:%d, bizid: %d",bInfo[bizid][db_bid], bizid);
mysql_format(handle,query,sizeof(query),"UPDATE `biz` Set `bizkasse`='%d' WHERE `ID`='%i'",
bInfo[bizid][bbizkasse],bInfo[bizid][db_bid]);
mysql_pquery(handle,query);
return 1;
}
Er printet: "ID:6, bizid: 5"
In der Datenbank sieht es so aus: https://prnt.sc/qqvp5l Primary Key und Auto Increment ist in der Spalte aktiviert.
forward BizLaden();
public BizLaden()
{
new rows;
cache_get_row_count(rows);
for(new bizid = 0; bizid < sizeof(bInfo); bizid++)
{
cache_get_value_name_int(bizid,"ID",bInfo[bizid][db_bid]);
if(bInfo[bizid][db_bid]==0)continue;
cache_get_value_name_int(bizid,//.......
Das passiert beim Laden und er lädt auch das richtige. Also bei der wirklichen ID5, wie sie in der Datenbank steht die wirklichen und richtigen Werte.
Warum kriege ich es nicht in die richtige Zeile, besser gesagt warum ist die Spaltenid jetzt anders beim Speichern... hoffe jemand hat eine Idee