函数名:PDOStatement::columnCount()
适用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8
用法:该函数用于获取结果集中的列数。
语法:public PDOStatement::columnCount(): int|false
参数:无
返回值:返回结果集中的列数,如果没有结果集或者出错,则返回false。
示例:
try {
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
$stmt = $pdo->query("SELECT name, age, email FROM users");
$columnCount = $stmt->columnCount();
echo "结果集中的列数为:" . $columnCount . "<br>";
// 遍历结果集中的每一列
for ($i = 0; $i < $columnCount; $i++) {
$columnMeta = $stmt->getColumnMeta($i);
echo "列名:" . $columnMeta['name'] . "<br>";
echo "数据类型:" . $columnMeta['native_type'] . "<br>";
echo "是否可以为NULL:" . ($columnMeta['nullable'] ? "是" : "否") . "<br>";
echo "最大长度:" . $columnMeta['len'] . "<br>";
echo "<br>";
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
以上示例中,我们首先创建了一个PDO对象,并连接到MySQL数据库。然后,执行了一个SELECT语句,并将结果赋值给PDOStatement对象$stmt。接下来,使用columnCount()函数获取结果集中的列数,并将结果输出。最后,通过调用getColumnMeta()函数,遍历结果集中的每一列,并输出列的相关信息,如列名、数据类型、是否可以为NULL以及最大长度。
请注意,以上示例中的数据库连接信息(主机名、数据库名、用户名和密码)需要根据实际情况进行修改。