Php 如何在变量参数函数中使用查询?
带有变量参数的查询只接受第一个参数 我尝试从foreach循环ant回显所有变量参数,但当我键入query时,它只在第一个参数上完成Php 如何在变量参数函数中使用查询?,php,mysql,Php,Mysql,带有变量参数的查询只接受第一个参数 我尝试从foreach循环ant回显所有变量参数,但当我键入query时,它只在第一个参数上完成 function SelectDB($Table,$Stm,$Value,...$Selectors){ global $conn; foreach($Selectors as $Selector){ //That works and echo all Selectors echo $Selector; } } function SelectDB(
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;
}
因为你们不明白return是做什么的。我尝试回显获取数据,它成功了,但当我将它们存储在数组中并返回数组时,它给出了相同的索引错误