我正在尝试为我的 rpg 创建一个元素商店我有一个名为 itemslist 的表 有 3 列 itemname, itemprice, image,
所以目前我在其中有 1 个条目 itemname 是 Potion itemprice 是 1000 并且图像是嘿只是为了测试。
我遇到问题的图像列。出于某种原因,它回显出 has 1 而不是嘿。甚至在 phpmyadmin 中也是如此。除价格外,所有列都是可变的。
问题是,如果我将价格更改为 99,它会回显他的图像有 9 如果我将 itemprice 更改为 10,它会回显列图像有 0。即使在数据库中,列图像是嘿和价格是 10,它会回显他的价格是 10,页面上的图像由于某种原因是 0,它得到价格的最后一个数字,并认为这是图像列
include_once('config.php');
$item = $_POST['item'];
$item = mysql_real_escape_string($_POST['item']);
$item2 = preg_replace('/[^a-z]/i', null, $item);
/// Get the item price
$sql55 = "SELECT * FROM itemslist WHERE itemname='$item2'";
$result55 = mysql_query($sql55) or die(mysql_error());
$itemprice = mysql_fetch_array($result55);
$sql555 = "SELECT * FROM users WHERE username='".$_SESSION['username']." '";
$result555 = mysql_query($sql555) or die(mysql_error());
$usermoney = mysql_fetch_array($result555);
$itemname = $itemprice['itemname'] ;
$itemprice = $itemprice['itemprice'] ;
$itemimage = $itemprice['image'] ;
echo $itemimage ;
if ($usermoney['money'] > $itemprice['itemprice']) {
echo "You have just bought a ";
echo $itemname ;
mysql_query("INSERT INTO `items` (`item`, `belongsto`, `itemimage`) VALUES ('$itemname','".$_SESSION['username']."','$itemimage')") or die(mysql_error());
$result23123 = mysql_query("UPDATE users SET money=money-$itemprice WHERE username = '{$_SESSION['username']}'")
or die(mysql_error());
}else{
echo"Your to poor to buy this item";
die;
}
在 config.php 中我有 session 启动和 mysql 连接。
表结构
itemslist
表
itemname, itemprice, image
然后对于 items 表它的 item,belongsto,itemimage
从 itemslist 和它的名字插入到 items 表中。 但问题是,如果商品价格中有一个数字,比如 12,那么我回显它旁边的列,即图像,图像将显示数字 2(商品价格末尾的 2)
页面上没有显示错误。但是我有没有说过它的 echo 表明图像在数据库中时是 2 嘿。图像的列是 var 所以不知道为什么它的回显有 2
最佳答案
您正在用字符串 $itemprice['itemprice']
覆盖数组 $itemprice
。将变量名称更改为 $iteminfo 即可正常工作。
$iteminfo = mysql_fetch_array($result55);
//...
$itemname = $iteminfo['itemname'] ;
$itemprice = $iteminfo['itemprice'];
$itemimage = $iteminfo['image'] ;
关于Phpmyadmin 和 mysql 显示错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9377003/