php 获取sql字段名,php - SQL查询返回的字段名而不是值

我正在尝试返回字段值。我在PHP中尝试过它,但是它一次又一次返回相同的字段。通过直接查询进行测试,这就是我得到的...

这是我用来获取数据的函数:<?php

function display_orders( $user_id, $limit ) {

$data = array();

$user_id = (int)$user_id;

$limit = (int)$limit;

$func_num_args = func_num_args();

$func_get_args = func_get_args();

//print_r($func_get_args);

if ($func_num_args > 1) {

unset($func_get_args[0]);

unset($func_get_args[1]);

$fields = '`' . implode('`, `', $func_get_args) . '`';

for($x = 0; $x < $limit; $x++) {

$data[] = mysql_fetch_assoc( mysql_query("SELECT $fields

FROM `users` , `vendor`

WHERE $user_id = users.id

AND $user_id = vendor.user_id

ORDER BY vendor.DateRequested DESC") );

}

return $data;

}

}

?>

这将返回以下内容,并且只会循环遍历newegg条目。

感谢您的所有帮助,我爱这个社区!

最佳答案

SELECT 'field'(单引号,如您的phpmyadmin查询中)选择文字字符串field。

SELECT `field`(如PHP查询中的反引号)从名为field的字段中选择值。

mysql_fetch_assoc()从查询结果句柄返回一行。您打算捕获作为结果句柄的mysql_query()的返回,并从中重复“获取”行。而是多次调用mysql_query(),每次都返回一个新的结果集,并每次都从结果集中获取第一行。

更新

您想要这样的东西:$results = mysql_query(...);

for ($x = 0; $x < $limit; $x++) {

$data[] = mysql_fetch_assoc($results);

}

将$limit放入查询本身(LIMIT ...)可能是一个更好的主意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值