contact_id が特定のユーザーのプールのプールに存在するかどうかを確認するコードは次のとおりです。
function checkid()
{
$conn = connectPDO();
$query = "SELECT contact_id FROM contacts WHERE contact_by = :cby";
$st = $conn->prepare( $query );
$st->bindValue( ':cby', $this->contact_by, PDO::PARAM_INT );
$st->execute();
$row = $st->fetchALL();
$conn = null;
print_r($this->contact_id); //1
print_r($row); //Array ( [0] => Array ( [contact_id] => 1 [0] => 1 ) [1] => Array ( [contact_id] => 3 [0] => 3 ) )
if( !in_array( $this->contact_id, $row ))
{
echo 'You are not authorised to update the details of this contact';
}
}
ここにURLがあります:
http://localhost/contmanager/home.php?action=update&contactid=1
私が気づいたことの 1 つは、fetchall の代わりに fetch を使用すると、contact_id '1' では正常に動作しますが、fetchALL を使用すると失敗することです。