-3

こんにちは私はいくつか質問があります。staitmentがtrueの場合の作成方法、staitmentの場合はループ、それ以外の場合はスタッフを返す

function checkSlot($member_id){
$i = 1;
 $query = mysql_query("SELECT * FROM `inventory` WHERE `member_id` = '".$member_id."'");
 $row = mysql_fetch_array($query);
  if($row['slot'.$i.''] > 0){
   $i++;
  }else{
   return true;
  }
4

1 に答える 1

1

すべての値を確認するには、ループが必要です。

function checkSlot($member_id){ 
    $query = mysql_query("SELECT * FROM `inventory` WHERE `member_id` = '".(int)$member_id."'"); 
    $row = mysql_fetch_array($query); 
    if ($row) {
        for($slotNumber = 1; $slotNumber<=10; $slotNumber++) {
            if($row['slot'.$slotNumber] == 0){ 
                return $slotNumber;
            }
        }
    }
    return 0;
}

また、mysqlが無効になるため、PDOまたはmysqli_()関数(ではなく)の使用を検討してください。mysql_()古い方法に慣れてすべてを書き直す必要がある前に、新しい方法に慣れてください。

安全にするために$member_idを整数に強制しました-それ以外の場合mysql_real_escape_string()は、最低限として使用します(またはできればPDO上記mysqli_()のように機能します)

于 2012-09-20T00:32:44.897 に答える