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

标签 php mysql

带变量参数的查询仅采用第一个

我尝试回显 foreach 循环 ant 中的所有变量参数,它有效,但是当我键入查询时,它仅在第一个参数上完成

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 

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

最佳答案

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

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

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;
}

关于php - 如何在变量参数函数中使用查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56413419/

相关文章:

php - MySQL 查询 – 有更好的方法吗?

使用正则表达式的 mysql 查询

php - MySQL随机生成带有字母前缀的数字,使用变量时出错?

php - 使用 PHP 连接到数据库

php - setcookie 不工作 php

php - 如何找到广告的最终目的地(网址)(以编程方式)

php - 在 PHP 中,当我使用 fwrite 时,我没有得到正确的字符集

php - 将现有站点迁移到 Drupal 之类的 CMS 或 Zend 之类的框架,或者两者都不迁移?

php - 在没有 SMTP 身份验证的情况下使用 PHPMailer 发送电子邮件

php - 如何在php中从用户端动态提供对数据库的访问权限?