我想将我的代码从 mysql 升级到 pdo。当我将 mysql_name_field 更改为等效的 pdo 时。我坚持了下来。检查我的旧代码。
这是在管理数据类中:
$result=$this->query($query);
$x=$this->cols_count($result);
$heading[]=$this->column_name($result);
print_r($heading);die();
Run Code Online (Sandbox Code Playgroud)
和数据类中的column_name函数。管理数据类继承数据类。请参阅列名函数。
function column_name($result) {
$row=$this->stmt->getColumnMeta($result);
return $row;
}
Run Code Online (Sandbox Code Playgroud)
它只返回一个列名,而我想要表中的所有列名。
getColumnMeta ()返回结果集中列的元数据(结果中的 0 索引列)。另外,从文档中:
警告 此功能是实验性的。在 PHP 的未来版本中,此函数的行为、其名称和相关文档可能会发生更改,恕不另行通知。使用此功能的风险由您自行承担。
警告 并非所有 PDO 驱动程序都支持 PDOStatement::getColumnMeta()
是什么使它不是一个很好的方法。相反,您可以使用查询“SHOW COLUMNS from table”并检索所有列信息。或者,如果您仍然想使用getColumnMeta():
function column_name() {
$results = $this->query('SELECT * FROM table LIMIT 0');
for ($i = 0; $i < $results->columnCount(); $i++) {
$col = $results->getColumnMeta($i);
$columns[] = $col['name'];
}
return columns;
}
Run Code Online (Sandbox Code Playgroud)
现在无法测试,但我认为它会提供一些想法。希望能帮助到你,
| 归档时间: |
|
| 查看次数: |
4635 次 |
| 最近记录: |