PHP中的变量类型

Ele*_*all -3 php mysqli

我正在建立一个允许人们预订活动的网站.我希望能够在达到容量时自动从站点中删除事件.

我有一个注册表,它存储了delegate_id和instance_id,所以我可以看到谁预订了什么地方.instance_id链接到实例表,实例表存储事件信息 - 地点,日期和容量.

现在,似乎我应该能够获得为给定实例注册的委托数量,并将其与该实例的容量进行比较,然后使用这些数字让网站显示事件.所以我有这些疑问:

//Delegates Query
$qRegs = "SELECT COUNT(delegate_id) FROM registration
WHERE registration.instance_id = $instance_id";
$rRegs = mysqli_query($dbc,$qRegs);
$registrations = mysqli_fetch_object($rRegs);

//Capacity Query
$qCap = "SELECT instance_cap FROM instance
WHERE instance_id = $instance_id";
$rCap = mysqli_query($dbc,$qCap);
$capacity = mysqli_fetch_object($rCap);
Run Code Online (Sandbox Code Playgroud)

所以我可以简单地计算可用性:

$availability = $capacity - $registrations;
Run Code Online (Sandbox Code Playgroud)

但是,这会引发错误:注意:类stdClass的对象无法转换为int.我试过用变量进行类型转换,(int)但没有区别.

有任何想法吗?

Kyl*_*yle 5

您的两个对象实际上不包含单个字段.它们是包含字段名称的对象,其中包含查询中的内容.

您需要为第一个select语句指定COUNT操作的名称.例如,假设您在查询中将其称为注册.

$availability = $capacity->instance_cap - $registrations->registrations;

有关更多说明,您可能需要阅读位于此处的mysqli_fetch_object上的文档.