2012-02-21 4 views
1

間違った結果を示したが、私は私が中1つのエントリを持っている現時点では3列itemNameに、itemprice、画像、のphpMyAdminとMySQL私はRPGのためのアイテムショップを作るしようとしている

そうで itemslistと呼ばれるテーブルを持っていますアイテム名はPotion itempriceは1000で、画像はちょうどと一緒にテストすることです。

画像の列に問題があります。何らかの理由でエコーアウトしています。 phpmyadminのthoでもねえ。すべての列は価格を除いてvarです。

問題は、価格を99に変更すると画像がエコーされます。9がitempriceを10に変更すると、列画像がエコーされます.dbの列画像もちょっとあります価格は10で、それは彼が価格が10を持っており、画像は、私はその価格の最後の番号を取得し、それはサイドのconfig.phpで

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; 
} 

画像列で考え、何らかの理由でページに0を持っていてエコーしますセッションを開始し、mysqlを接続します。

表構造項目テーブルの

itemname, itemprice, image 

そして

itemslistテーブルの項目、belongsToの、itemimage itemslistから

それの名前、次いでアイテムテーブルに挿入します。 問題は、itempriceに数字があると12になり、次に画像が横に表示され、画像に数字2(itempriceの最後から2)が表示される場合です。

Thereページにエラーが表示されません。しかし、私は、その画像が2のときにそのエコーを言ったのですか?イメージの列がvarであるため、そのエコーアウトの原因がわからない2

+0

デバッグデータ、つまり$ itempriceとINSERTクエリのダンプを含めてください。 –

+2

テーブル構造も指定できますか? –

+1

エラーの内容を正しく説明できますか? –

答えて

0

あなたは、文字列$itemprice['itemprice']で配列$itempriceを上書きしています。変数名を$ iteminfoに変更すれば正常に動作します。

$iteminfo = mysql_fetch_array($result55); 
//... 
$itemname = $iteminfo['itemname'] ; 
$itemprice = $iteminfo['itemprice']; 
$itemimage = $iteminfo['image'] ; 
0

$ itemprice変数の内容を確認するには、print_rを使用してみてください。

echo $itemimage ; 
// becomes 
print_r $itemimage ; 
関連する問題