使用 PDO 在结果中使用列值作为索引
使用 SQL 表和 PDO 时,您可能会遇到需要获取结果的情况由特定列值而不是递增数字索引的数组。这样可以更有效地检索数据并简化某些操作。
要实现此目的,您可以利用 PDO 的 PDO::FETCH_UNIQUE 获取模式。指定此模式时,结果数组的索引将基于 SELECT 子句中列出的第一个字段(或使用“*”时表定义中的第一个字段)。
例如,考虑名为“brands”的表,包含 id、name 和 url 列:
| id | name | url | |-----|-----------|-----------| | 1 | Solidfloor | solidfloor | | 2 | Quickstep | quickstep | | 4 | Cleanfloor | cleanfloor |
获取数据并将 id 列用作数组索引:
$pdo = new PDO('...'); // PDO connection object $data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
生成的 $data 数组将通过 id 列进行索引,如下所示:
[ 1 => [ 'name' => 'Solidfloor', 'url' => 'solidfloor' ], 2 => [ 'name' => 'Quickstep', 'url' => 'quickstep' ], 4 => [ 'name' => 'Cleanfloor', 'url' => 'cleanfloor' ] ]
这允许您直接通过 id 列访问数据:
$brand = $data[1]; // Get brand with ID 1
以上是如何使用列值作为 PDO 结果中的索引?的详细内容。更多信息请关注PHP中文网其他相关文章!