• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Syntax Fehler.. Was bedeutet dieser?

SimoNxD

Mitglied
Hey Leuts...
Hier mal die Fehlermeldung

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 ') VALUES ('943241015','MALL','0','1','1109','0', '0', '0', '0', '0', ' at line 2


und hier der Script der eig ausgeführt werden sollte:

PHP:
<div class="con-ui top"><h2>Item Kaufen</h2></div>    <div class="con-ui post">    	<div class="wrapper"><?PHP
	function canBuy()	{		if(!isset($_SESSION['nextBuy']))		{			$_SESSION['nextBuy']=time();		}				if($_SESSION['nextBuy']<=time())		{			$_SESSION['nextBuy']=time()+5;			return true;		}		else			return false;	}
  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']."' AND anzeigen='J' LIMIT 1";      $sqlQry=mysql_query($sqlCmd,$sqlHp);      if(mysql_num_rows($sqlQry)==1) {              $getItem=mysql_fetch_object($sqlQry);                $sqlCoins = "SELECT coins FROM account.account WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";        $qryCoins = mysql_query($sqlCoins,$sqlServ);        $getCoins = mysql_fetch_object($qryCoins);        		if(canBuy())		{			if(($getCoins->coins)>=$getItem->preis) {		  			  $getGroesse = compareItems($getItem->vnum);			  $belPos = checkPos($_SESSION['user_id']);			  $possiblePos = findPos($belPos['islager'],$getGroesse['groesse']);			  if(!empty($possiblePos)) {								$nCoins = $getCoins->coins-$getItem->preis;								$sqlCmd="UPDATE account.account SET coins='".mysql_real_escape_string($nCoins)."' WHERE id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";				$sqlQry=mysql_query($sqlCmd,$sqlServ);								$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".mysql_real_escape_string($_SESSION['user_id'])."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";				$qryLog=mysql_query($sqlLog,$sqlHp);								$sqlItem="INSERT INTO player.item 				(owner_id,window,pos,count,vnum,socket0, socket1, socket2, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, )				VALUES 				('".mysql_real_escape_string($_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&uuml;gend Platz in ihrem Itemshop-Lager. Ihr Guthaben wurde nicht ver&auml;ndert.</p>';			  }			  			}			else {			  echo'<p class="meldung">Sie haben nicht genug Coins.</p>';			}		}		else		{			echo'<p class="meldung">Es kann nur alle 5 Sekunden ein Item gekauft werden.</p>';		}      }      else {        echo'<p class="meldung">Das angegebe Item existiert nicht.</p>';      }    }    else {      echo'<p class="meldung">Es wurde keine g&uuml;ltige ID eingegeben.</p>';    }    echo'<p><a href="javascript:history.back()">zur&uuml;ck</a></p>';  }  else {    echo'<p class="meldung">Sie m&uuml;ssen f&uuml;r diesen Bereich angemeldet sein.</p>';  }?>		</div>    </div><div class="con-ui buttom"></div>


kann mir mal bitte jemand erklären was den Syntax Fehler auslöst :(?

MfG
 
Werbung:
ich hab kein query..
Das ist eig nen script der etwas in die DB schreiben soll bzw hinzufügen soll.
Der script ist ja oben eingeblendet...
Und dieser Funktioniert halt nicht und wenn ich dann auf ''Item Kaufen'' kommt halt die Fehlermeldung auf der Seite
 
Werbung:
Sicher dass alles als Zeichenkette übertragen werden soll?
Was fordert die DB denn für VariablenTypen? Vielleicht fordert sie ja
INT, VarChar, Int, int ... statt alles VarChar, oder vielleicht doubleQuotes statt einfachen Quotes?
 
Folgendes Prinzip steckt hinter dem Shop

Ich hab 2 Datenbanken bzw 3

1. Datenbank Spieler: Dort wird geprüft ob der Spieler auch die nötigen Coins hat um etwas zu kaufen
2. Datenbank Shop: Dort sind halt die Items, die diesen vnum haben bzw die erkennungs id um welches item es sich handelt dazu du ''attrtype und value'' sind die werte die das item hat... zB 2000 Angriff 2000 Verteidigung :D
3. Datenbank Spiel: Die eigentliche Itemliste: Da der Shop ja auf der Hompage ist aber das Spiel auf einen Root kann ich die Items nicht auf der Seite lassen, sondern muss diese in die Item DB übertragen bzw einsetzten...
dafür sind halt die Insert und Select...

Auf der Seite funktioniert es ja auch das die Coins abgezogen bekommen nur das Item wird nicht in die 3. Datenbank gespeichert... Nun ist die Frage wo ist das problem
 
Werbung:
PHP:
$sqlQry=mysql_query($sqlCmd,$sqlHp);
$qryItem=mysql_query($sqlItem,$sqlServ) or die(mysql_error());

des sorgt für die query ausgabe odeR?
 
Wenn der zweite Aufruf von mysql_query false liefert, würde an der Stelle der Code hinter der OR-Verknüpfung ausgeführt. In Bezug auf den ersten Aufruf passiert mit dem Code nichts.
 
Fehlerhafte Syntax

...to use near ') VALUES ('943241015','MALL','0','1','1109','0', '0', '0', '0', '0', '...

bezieht sich auf dieses INSERT-Statement:
Code:
 $sqlItem="INSERT INTO player.item
          (owner_id,window,pos,count,vnum,socket0, socket1, socket2, attrtype0, attrvalue0,
          attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4,
          attrtype5, attrvalue5, attrtype6, attrvalue6[COLOR=#ff0000],[/COLOR] )
                          VALUES
                          ('".mysql_real_escape_string($_SESSION['user_id'])."','MALL','" ...]

Dem geneigten Leser wird in Verbindung mit der oa. Fehlermeldung auffallen, dass ein Komma zu viel notiert wurde ;)

Guggst Du hier:
Code:
... attrtype6, attrvalue6[SIZE=5][B][COLOR=#ff0000],[/COLOR][/B][/SIZE] ) VALUES ( ...
 
Werbung:
Zurück
Oben