给定结果集,我如何确定查询中指定的字段的实际名称(不是它们的别名).
$query = "SELECT first AS First_Name, last AS Last_Name FROM people";
$dbResult = mysql_query($query);
$fieldCount = mysql_num_fields($dbResult);
for ($i=0; $i<$fieldCount; $i++) {
// Set some values
$fieldName = mysql_field_name($dbResult, $i);
}
Run Code Online (Sandbox Code Playgroud)
此示例返回字段名称,但在此示例中,它返回别名"First_Name"而不是实际字段名称"first".
是否可以从这样的查询中获取实际的字段名称.特别是如果我正在编写一个函数,并且不知道将抛出什么查询.
bob*_*olt 11
如果您使用的是MySQLi:
http://www.php.net/manual/en/mysqli-result.fetch-field.php
字段对象具有"orgname"属性.
"经典"MySQL等效函数不报告原始列名.
Pet*_*ley 10
简短的回答:你没有.
答案很长:一旦数据集被MySQL提取并发送回PHP,PHP现在拥有的唯一信息就是列或别名(如果您使用它们).无法查看结果集并确定原始列名称是什么.您必须切换到另一个像mysqli这样的数据库驱动程序来获取此信息.
| 归档时间: |
|
| 查看次数: |
5624 次 |
| 最近记录: |