首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在变量参数函数中使用查询?

如何在变量参数函数中使用查询?
EN

Stack Overflow用户
提问于 2019-06-02 16:29:28
回答 1查看 41关注 0票数 0

带有变量参数的查询只接受第一个参数

我试图回显来自foreach循环ant的所有变量参数,但当我输入query时,它只在第一个参数上执行

代码语言:javascript
复制
function SelectDB($Table,$Stm,$Value,...$Selectors){
global $conn;
foreach($Selectors as $Selector){
  //That works and echo all Selectors
  echo $Selector; 
 } 
 }
function SelectDB($Table,$Stm,$Value,...$Selectors){
  global $conn;
   foreach($Selectors as $Selector){
  //Only First Selector is executed in Query
  $Query = $conn->prepare("SELECT $Selector FROM $Table WHERE $Stm = ?");
  $Query->execute(array($Value)); 
  $Fetch = $Query->fetch();
  return $Fetch;
   } 
 }
$S = SelectDB("attended","Id",1,"Id","s","Date","TeacherId");
echo $S['TeacherId']; //Undefined Index
echo $S['Id']; //echo The Id 

我想对每个选择器执行查询

EN

回答 1

Stack Overflow用户

发布于 2019-06-02 16:34:00

您在循环中使用了return语句,因此它将在第一次迭代时返回。

使用缓冲区存储数据,并将其返回:

代码语言:javascript
复制
function SelectDB($Table,$Stm,$Value,...$Selectors) {
  global $conn;
  $result = [];
  foreach($Selectors as $Selector) {
    //Only First Selector is executed in Query
    $Query = $conn->prepare("SELECT $Selector FROM $Table WHERE $Stm = ?");
    $Query->execute(array($Value)); 

    // push fetch to result
    $result []= $Query->fetch();
 }

 return $result;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56413419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档