-3

你好我有一些问题。如果 staitment 为真,如何制作,如果 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;
}

另外,考虑使用PDOormysqli_()函数(不是mysql_()),因为 mysql 将被弃用。在习惯旧方法并需要重写所有内容之前先习惯新方法。

我已将 $member_id 强制为整数以使其安全 - 否则mysql_real_escape_string()用作最低限度(或最好PDOmysqli_()如上所述的功能)

于 2012-09-20T00:32:44.897 回答