Hen Script fehler

02/07/2011 15:54 [-Lee-]#1
Hey , ich habe schon viele Thread darüber gesehen jedoch wurde NIE ne prezise Antwort gegeben die zur Lösung des problemmes Beigetragen hat.


hier das Problem:

Wenn ich im IS was kaufen willst kommt folgendes:

PHP Code:
Duplicate entry '4294967295' for key 1 
Ich habe bereits :

It Total neu erstellt ( Kein backup benutzt)

Und die Is_Buy
sowie Itemshop.php neu hochgeladen

beides hat nicht Funktioniert.

Hoffentlich könnt ihr mir helfen.

mfg
lee
02/07/2011 16:10 Tookies#2
Such den Eintrag mit dem Inhalt '4294967295' und ändere die ID.
Der Inhalt muss unique sein da es sich hierbei um einen Schlüssel handelt.
02/07/2011 16:11 [-Lee-]#3
Quote:
Originally Posted by Tookies View Post
Such den Eintrag mit dem Inhalt '4294967295' und ändere die ID.
Der Inhalt muss unique sein da es sich hierbei um einen Schlüssel handelt.
in welcher datei denn bitte?


sobald ich DIE ID ändern oder das Item einfach lösch geht wieder alles wunderbar .

aber auch nur bis der nächste was kauft
02/07/2011 18:42 .SeVeN.#4
Ich würde das auch gern wissen!
Komme da auch nicht weiter.. :(
02/07/2011 18:47 IgorGlock#5
Diese Meldung bedeutet:
item mit dieser IDXXXX ist bereits eingetragen.

Ich glaube mit deiner player => item Tabelle stimmt was nicht.
02/07/2011 18:49 NotEnoughForYou#6
nein das liegt an der is_buy.php ...
PHP Code:
<?PHP

  
if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
  
    if(isset(
$_GET['id']) && checkInt($_GET['id'])) {
    
      
$sqlCmd="SELECT vnum, preis, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2 FROM ".SQL_HP_DB.".is_items WHERE id='".$_GET['id']."' LIMIT 1";
      
$sqlQry=mysql_query($sqlCmd,$sqlHp);
      if(
mysql_num_rows($sqlQry)==1) {
      
        
$getItem=mysql_fetch_object($sqlQry);
        if(
$_SESSION['user_coins']>=$getItem->preis) {
      
          
$getGroesse compareItems($getItem->vnum);
          
$belPos checkPos($_SESSION['user_id']);
          
$possiblePos findPos($belPos['islager'],$getGroesse['groesse']);
          if(!empty(
$possiblePos)) {
          
            
$sqlCmd="UPDATE account.account SET coins=coins-".$getItem->preis." WHERE id='".$_SESSION['user_id']."' LIMIT 1";
            
$sqlQry=mysql_query($sqlCmd,$sqlServ);
            
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".$_SESSION['user_id']."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";
            
$qryLog=mysql_query($sqlLog,$sqlHp);
            
$sqlItem="INSERT INTO player.item 
            (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2)
            VALUES 
            ('"
.$_SESSION['user_id']."','MALL','".$possiblePos[0]."','1','".$getItem->vnum."','".$getItem->attrtype0."', '".$getItem->attrvalue0."', '".$getItem->attrtype1."', '".$getItem->attrvalue1."', '".$getItem->attrtype2."', '".$getItem->attrvalue2."', '".$getItem->attrtype3."', '".$getItem->attrvalue3."', '".$getItem->attrtype4."', '".$getItem->attrvalue4."', '".$getItem->attrtype5."', '".$getItem->attrvalue5."', '".$getItem->attrtype6."', '".$getItem->attrvalue6."', '".$getItem->socket0."', '".$getItem->socket1."', '".$getItem->socket2."')";
            
$qryItem=mysql_query($sqlItem,$sqlServ) or die(mysql_error());
            echo
'<p class="meldung">Das item wurde erfolgreich gekauft. Sollte das Item nicht im Lager erscheinen, bitte umgehend bei einem Admin melden.</p>';
            
          }
          else {
            echo
'<p>Sie haben nicht genügend Platz in ihrem Itemshop-Lager. Ihr Guthaben wurde nicht verändert.</p>';
          }
          
        }
        else {
          echo
'<p class="meldung">Sie haben nicht genug Coins.</p>';
        }
      }
      else {
        echo
'<p class="meldung">Das angegebe Item existiert nicht.</p>';
      }
    }
    else {
      echo
'<p class="meldung">Es wurde keine gültige ID eingegeben.</p>';
    }
    echo
'<p><a href="javascript:history.back()">zurück</a></p>';
  }
  else {
    echo
'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>';
  }
?>
die geht ;), hatte das selbe problem auch mal
02/07/2011 18:54 [-Lee-]#7
Quote:
Originally Posted by NotEnoughForYou View Post
nein das liegt an der is_buy.php ...
PHP Code:
<?PHP

  
if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
  
    if(isset(
$_GET['id']) && checkInt($_GET['id'])) {
    
      
$sqlCmd="SELECT vnum, preis, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2 FROM ".SQL_HP_DB.".is_items WHERE id='".$_GET['id']."' LIMIT 1";
      
$sqlQry=mysql_query($sqlCmd,$sqlHp);
      if(
mysql_num_rows($sqlQry)==1) {
      
        
$getItem=mysql_fetch_object($sqlQry);
        if(
$_SESSION['user_coins']>=$getItem->preis) {
      
          
$getGroesse compareItems($getItem->vnum);
          
$belPos checkPos($_SESSION['user_id']);
          
$possiblePos findPos($belPos['islager'],$getGroesse['groesse']);
          if(!empty(
$possiblePos)) {
          
            
$sqlCmd="UPDATE account.account SET coins=coins-".$getItem->preis." WHERE id='".$_SESSION['user_id']."' LIMIT 1";
            
$sqlQry=mysql_query($sqlCmd,$sqlServ);
            
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".$_SESSION['user_id']."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";
            
$qryLog=mysql_query($sqlLog,$sqlHp);
            
$sqlItem="INSERT INTO player.item 
            (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2)
            VALUES 
            ('"
.$_SESSION['user_id']."','MALL','".$possiblePos[0]."','1','".$getItem->vnum."','".$getItem->attrtype0."', '".$getItem->attrvalue0."', '".$getItem->attrtype1."', '".$getItem->attrvalue1."', '".$getItem->attrtype2."', '".$getItem->attrvalue2."', '".$getItem->attrtype3."', '".$getItem->attrvalue3."', '".$getItem->attrtype4."', '".$getItem->attrvalue4."', '".$getItem->attrtype5."', '".$getItem->attrvalue5."', '".$getItem->attrtype6."', '".$getItem->attrvalue6."', '".$getItem->socket0."', '".$getItem->socket1."', '".$getItem->socket2."')";
            
$qryItem=mysql_query($sqlItem,$sqlServ) or die(mysql_error());
            echo
'<p class="meldung">Das item wurde erfolgreich gekauft. Sollte das Item nicht im Lager erscheinen, bitte umgehend bei einem Admin melden.</p>';
            
          }
          else {
            echo
'<p>Sie haben nicht genügend Platz in ihrem Itemshop-Lager. Ihr Guthaben wurde nicht verändert.</p>';
          }
          
        }
        else {
          echo
'<p class="meldung">Sie haben nicht genug Coins.</p>';
        }
      }
      else {
        echo
'<p class="meldung">Das angegebe Item existiert nicht.</p>';
      }
    }
    else {
      echo
'<p class="meldung">Es wurde keine gültige ID eingegeben.</p>';
    }
    echo
'<p><a href="javascript:history.back()">zurück</a></p>';
  }
  else {
    echo
'<p class="meldung">Sie müssen für diesen Bereich angemeldet sein.</p>';
  }
?>
die geht ;), hatte das selbe problem auch mal


zwar echt nett von dir aber nein geht auch nicht =(

selbiges problemm , ich lösch das item aus der Item tabelle kann 1 mal kaufen und schon wida das selbe prob
02/07/2011 18:56 NotEnoughForYou#8
hmm benutzt du das standart script? weil in der alten version war ja das der fehler, der durch die is_buy hervorgerufen wurde ....
02/07/2011 19:04 [-Lee-]#9
Hinzu kommt ,das des Item nichtmal im IS lager landet ( geht ja nur wenn ich das item jedesmal einzeld aus DB lösche)

i need help :D


habs dir geschickt via pn
02/07/2011 19:08 NotEnoughForYou#10
k , hast gleich ne pn back
02/07/2011 20:19 [-Lee-]#11
Immer noch ...

er konnte bis dato auch nicht helfen auch wenn es total nett gemeint war.


Ich lösche das Duplicat aus DB. Sobald man aber wieder was kauf will ist es wieder da

also : löschen , 1 mal kaufen , wieder da
02/07/2011 20:22 Megaload#12
Repair alles an der db ^^ bzw Repair mal "Lordkill hat mir damals geholfen bei dem gleichen Fehler " Er sagte Repair player.item dann sollte es funken^^
02/07/2011 20:36 [-Lee-]#13
Quote:
Originally Posted by Megaload View Post
Repair alles an der db ^^ bzw Repair mal "Lordkill hat mir damals geholfen bei dem gleichen Fehler " Er sagte Repair player.item dann sollte es funken^^
auch schon gemacht grade .

hat nix geholfen