在PHP中,查询数据库并获取结果时,返回的数据类型取决于你使用的数据库扩展和具体的函数。以下是几种常见的数据库扩展及其返回的数据类型:
mysqli_query()
和 mysqli_fetch_assoc()
/ mysqli_fetch_array()
/ mysqli_fetch_row()
:
mysqli_query()
返回一个 mysqli_result
对象。mysqli_fetch_assoc()
返回一个关联数组(array
),键是列名,值是对应的数据。mysqli_fetch_array()
返回一个混合数组(array
),既包含关联数组也包含索引数组。mysqli_fetch_row()
返回一个索引数组(array
),键是数字索引。$result = mysqli_query($conn, "SELECT * FROM users");
$row = mysqli_fetch_assoc($result); // 返回关联数组
PDO::query()
和 PDOStatement::fetch()
:
PDO::query()
返回一个 PDOStatement
对象。PDOStatement::fetch()
返回一个数组(array
),默认是关联数组,但可以通过参数指定返回的类型(如 PDO::FETCH_ASSOC
、PDO::FETCH_NUM
、PDO::FETCH_BOTH
等)。$stmt = $pdo->query("SELECT * FROM users");
$row = $stmt->fetch(PDO::FETCH_ASSOC); // 返回关联数组
mysql_query()
和 mysql_fetch_assoc()
/ mysql_fetch_array()
/ mysql_fetch_row()
:
mysql_query()
返回一个资源类型(resource
)。mysql_fetch_assoc()
返回一个关联数组(array
)。mysql_fetch_array()
返回一个混合数组(array
)。mysql_fetch_row()
返回一个索引数组(array
)。$result = mysql_query("SELECT * FROM users");
$row = mysql_fetch_assoc($result); // 返回关联数组
pg_query()
用于 PostgreSQL),返回的数据类型也通常是资源类型或数组。array
)的形式返回,具体是关联数组还是索引数组取决于你使用的函数。mysqli_result
或 PDOStatement
),然后你可以通过方法进一步获取数据。// MySQLi 示例
$conn = new mysqli("localhost", "user", "password", "database");
$result = $conn->query("SELECT * FROM users");
$row = $result->fetch_assoc(); // 返回关联数组
// PDO 示例
$pdo = new PDO("mysql:host=localhost;dbname=database", "user", "password");
$stmt = $pdo->query("SELECT * FROM users");
$row = $stmt->fetch(PDO::FETCH_ASSOC); // 返回关联数组
希望这些信息对你有帮助!如果你有更多问题,欢迎继续提问。