在MySQL中存在多個行,我目前正忙於在基於文本的RPG遊戲,但我的一個部分堅持現在。檢查是否使用PHP
爲了啓動一個任務,玩家確實需要一些物品,這些被存儲在一個字符串:item:1x3-item:5x1
- (basicly項目:IDxamount)。我已經作出爆炸串入變量的函數,但現在腳本需要檢查玩家是否確實列出了所有物品。
我試圖用一個foreach來解決這個問題,但是,對於每一個項目返回正面或負面的,而我只需要知道,如果玩家擁有的所有項目一次。
(不介意不安全的查詢) $parseAmount
是一個包含所有項目ID的數組。 $uid
是一個包含可變的用戶ID
// check if player has all items
foreach($parseAmount as $itemID)
{
$check_query = mysql_query("SELECT * FROM `player_items` WHERE `player`='$uid' AND `item`=='$itemID' AND `value`>='$parseAmount[1]'");
if(mysql_num_rows($check_query)>=1)
{return true;}
else
{return false;}
}
如果你要我給您寄整體功能,請讓我知道。
[MySQL擴展已被棄用(http://www.php.net/manual/en/function.mysql-query.php)。您應該切換到[MySQLi](http://www.php.net/manual/en/book.mysqli.php)或[PDO](http://www.php.net/manual/en/ref.pdo -mysql.php)並使用預準備語句。 – TimWolla
爲什麼'SELECT *'如果你只是計數行,只是'選擇1' –
@ Akshay2598更妙的是'SELECT COUNT(*)' – TimWolla