Php 返回字段名但不返回值的SQL查询
我正在尝试返回字段值。我在PHP中尝试过它,它可以工作,但会一次又一次地返回相同的字段。所以通过直接查询进行测试,这就是我得到的 下面是我用来获取数据的函数:Php 返回字段名但不返回值的SQL查询,php,mysql,sql,Php,Mysql,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
<?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条目
谢谢你的帮助,我爱这个社区 问题在于引用列名,这意味着对于查询结果中的每个匹配行,该值都将作为列返回
只需删除列周围的引号。首先对一列进行尝试,验证它是否有效,然后对其余列执行相同操作。
选择“字段”
(单引号,如在phpmyadmin查询中)选择文本字符串字段
SELECT`field`
(在PHP查询中使用反勾号)从名为field
的字段中选择值
mysql\u fetch\u assoc()
从查询结果句柄返回一行。您需要捕获mysql\u query()
的返回,这是一个结果句柄,并从中重复“获取”行。而是多次调用mysql\u query()
,每次都返回一个新的结果集,每次都从结果集中获取第一行
更新
你想要这样的东西:
$results = mysql_query(...);
for ($x = 0; $x < $limit; $x++) {
$data[] = mysql_fetch_assoc($results);
}
$results=mysql\u查询(…);
对于($x=0;$x<$limit;$x++){
$data[]=mysql\u fetch\u assoc($results);
}
最好将$limit
放在查询本身(limit…)中。我喜欢你使用var\u dump()
,请注意,你也可以使用print\r($var)
更容易阅读。不要在查询中引用列名。我一直在youtube视频中学习。。。在echo上使用打印效果更好吗?谢谢!修复了phpmyadmin中的查询。。。循环问题仍然存在。循环问题很可能是由于查询造成的。打印PHP脚本运行的查询,通过phpMyAdmin运行该查询并查看结果。请参见下面的pilcrows答案。所以我需要循环查询并返回数组中的下一个值?这是有道理的!谢谢你的信息!等等,刚刚检查过,它是循环的。。。我是不是遗漏了什么?@HELPMEPLEASE,展示一下应该如何使用它。你正在循环调用mysql\u query()
,mysql\u fetch\u assoc
只是你做这件事的附带方式。嗯,我会检查一下文档,但是我应该使用另一个函数来获取数据。谢谢你的信息@请帮我更新答案。如果以上任何一项证明有帮助,请毫不犹豫地投票和/或接受。