Skip to content

Commit f6b5b3a

Browse files
committed
result set type inference demo
1 parent a6bbf02 commit f6b5b3a

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

demo.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@
22

33
function demo(\PDO $pdo): void
44
{
5+
// ---------- result-set type inference ----------
6+
$stmt = $pdo->query('SELECT email, adaid FROM ada', PDO::FETCH_ASSOC);
7+
assertType('PDOStatement<array{email: string, adaid: int<-32768, 32767>}>', $stmt);
8+
9+
foreach ($stmt as $row) {
10+
parse_str($row['adaid'], $x);
11+
if ($row['email'] + 25) {
12+
$x = $row['doesnotexit'];
13+
}
14+
}
15+
16+
// ---------- in-depth query analysis ----------
17+
518
$pdo->query('SELECT * FROM unknownTable', PDO::FETCH_ASSOC);
619

720
$pdo->query('SELECT email adaid WHERE gesperrt freigabe1u1 FROM ada', PDO::FETCH_ASSOC);

0 commit comments

Comments
 (0)