我认为 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
)
最佳答案
mysql_field_table()
根据 PHP 文档,将字段 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
The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.
关于php - mysql_field_table() 的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19981158/