我认为mysql_field_table
我的查询:
SELECT partners.buyer,
calls_nc_sell_daily.market,
partners.name,
calls_nc_sell_daily.partner_id_fk as 'partners_id_fk',
partners.seller
FROM partners, calls_nc_sell_daily
WHERE calls_nc_sell_daily.date >= '$date_start'
AND calls_nc_sell_daily.date <= '$date_stop'
AND partners.id = calls_nc_sell_daily.partner_id_fk
WHEN结果字段由以下PHP片段解析:
$tables = array();
for($i=0;$i<$elements;$i++) {
$name = mysql_field_name($result,$i);
$tables[$name] = mysql_field_table($result,$name);
}
print_r($tables);
预期:
Array
(
[buyer] => partners
[market] => calls_nc_sell_daily
[name] => partners
[partners_id_fk] => calls_nc_sell_daily
[seller] => partners
)
实际值:
Array
(
[buyer] => partners
[market] => partners
[name] => partners
[partners_id_fk] => partners
[seller] => partners
)
答案 0 :(得分:4)
mysql_field_table()
将字段 offset 而不是其名称作为第二个参数。因此,您的名称将转换为数字,这将导致所有迭代的结果为零。
$tables = array();
for($i=0;$i<$elements;$i++) {
$name = mysql_field_name($result,$i);
$tables[$name] = mysql_field_table($result, $i);
}
print_r($tables);
string mysql_field_table(resource $ result,int $ field_offset)
<强> field_offset 强>
数字字段偏移量。 field_offset从0开始。如果field_offset不存在,则还会发出级别为E_WARNING的错误。