prepare('SELECT 1 FROM home_owners WHERE home_id = ? AND owner_id = ? LIMIT 1'); $exists->execute([$idhome, $ownerId]); if ($exists->fetchColumn()) { json_error(422, 'Owner already attached', ['owner_id' => ['Already attached']]); } // Total share ≤ 100. $sumStmt = $pdo->prepare('SELECT COALESCE(SUM(ownership_percentage), 0) FROM home_owners WHERE home_id = ?'); $sumStmt->execute([$idhome]); if ((float) $sumStmt->fetchColumn() + (float) $share > 100.0) { json_error(422, 'Total ownership exceeds 100%', ['ownership_percentage' => ['Sum exceeds 100']]); } $pdo->prepare( 'INSERT INTO home_owners (home_id, owner_id, ownership_percentage, notes, created_at, updated_at) VALUES (?, ?, ?, ?, NOW(), NOW())' )->execute([$idhome, $ownerId, (float) $share, $notes ?: null]); json_ok();