Jump to content
MakeWebGames

Help with edit item function:


furn355

Recommended Posts

OKay so i created a new item system for my game and im having a bit of trouble with the staff edit item function:

I am getting this error:

QUERY ERROR: 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 '' at line 1

Query was DELETE FROM items WHERE itmid=

And i dont understand why it is not picking up the ID, any help would be appreciated :)

 

function edit_item_begin()
{
global $db,$ir,$c,$h,$userid;
if($ir['user_level'] > 2)
{
die("403");
}


print "<h3>Editing Item</h3>
<h2>WARNING! Do not edit any of the edibles!!!</h2>
You can edit any aspect of this item.

<form action='staff_items.php?action=edititemform' method='post'>
Item: ".item_dropdown($c,'item')."

<input type='submit' value='Edit Item' /></form>";
}
function edit_item_form()
{
global $db,$ir,$c,$h;
if($ir['user_level'] > 2)
{
die("403");
}
$d=$db->query("SELECT * FROM items WHERE itmid={$_POST['item']}");
$itemi=$db->fetch_row($d);
print "<h3>Editing Item</h3>
<form action='staff_items.php?action=edititemsub' method='post'>
Item Name: <input type='text' name='itmname' value='' />

	Item Desc.: <input type='text' name='itmdesc' value='' />

	Item Type: ".itemtype_dropdown($c,'itmtype')."

	Item Buyable: <input type='checkbox' name='itmbuyable' checked='checked' />

	Item Price: <input type='text' name='itmbuyprice' />

	Item Sell Value: <input type='text' name='itmsellprice' />


	<hr />
	[b]Stat Boosts[/b]<hr />

	Item Strength Boost: <input type='text' name='strength_boost' value='0' />

	Item Defense Boost:<input type='text' name='defense_boost' value ='0' /> 

	Item Speed Boost:<input type='text' name='speed_boost' value ='0' />

	Items Image: (*include full location.   /images/pichere.jpg)<input type='text' name='itmpic' value='' /><hr />


<input type='submit' value='Edit Item' /></form>";
}
function edit_item_sub()
{
global $db,$ir,$c,$h,$userid;
if($ir['user_level'] > 2)
{
die("403");
}

if(!isset($_POST['itmname']) || !isset($_POST['itmdesc']) || !isset($_POST['itmtype'])  || !isset($_POST['itmbuyprice']) || !isset($_POST['itmsellprice']))
{
print "You missed one or more of the fields. Please go back and try again.

[url='staff_items.php?action=edititem']> Back[/url]";
$h->endpage();
exit;
}
$itmname=$_POST['itmname'];
$itmdesc=$_POST['itmdesc'];
$itmname=$db->escape($_POST['itmname']);
$itmdesc=$db->escape($_POST['itmdesc']);
$speed_boost=$db->escape($_POST['speed_boost']);
$defense_boost=$db->escape($_POST['defense_boost']);
$strength_boost=$db->escape($_POST['strength_boost']);
if($_POST['itmbuyable'] == 'on') { $itmbuy=1; } else { $itmbuy=0; }
$db->query("DELETE FROM items WHERE itmid={$_POST['itmid']}",$c);
$m=$db->query("INSERT INTO items VALUES('{$_POST['itmid']}',,{$_POST['itmtype']},'$itmname','$itmdesc',{$_POST['itmbuyprice']},{$_POST['itmsellprice']},'($itmbuy ? $itmbuy : 0)','$speed_boost','$defense_boost','$strength_boost','{$_POST['itmpic']}','0','0','0','0','0','0')");
print "The {$_POST['itmname']} Item was edited successfully.";
stafflog_add("Edited item {$_POST['itmname']}");
}
Link to comment
Share on other sites

To fix it how you have it setup add this to your form (edit_item_form function)

<input type='hidden' name='itmid' value='{$itemi['itmid']}' />

 

My suggestion would be not to delete the item, instead use an UPDATE query to modify the values of the data for the item...

Example

$db->query("UPDATE table SET field = 'field', text = 'text', num = 'num' WHERE itmid = 'itmid'");
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...