require_once 'C:/wamp/www/FirstWebsite/CommonFunctions.php';
function SelectRowByIncrementFunc(){
$dbhose = DB_Connect();
$SelectRowByIncrementQuery = "SELECT * FROM trialtable2 ORDER BY ID ASC LIMIT 1";
$result = mysqli_query($dbhose, $SelectRowByIncrementQuery);
$SelectedRow = mysqli_fetch_assoc($result);
return $SelectRowByIncrementQuery;
return $SelectedRow; //HERE is the error <-------------------------------
return $result;
}
$row = $SelectedRow;
echo $row;
if ($row['Id'] === max(mysqli_fetch_assoc($Id))){
$row['Id']=$row['Id'] === min(mysqli_fetch_assoc($Id));#TODO check === operator
}
else if($row['Id']=== min(mysqli_fetch_assoc($Id))){
$row['Id']=max(mysqli_fetch_assoc($Id));#TODO check === operator //This logic is important. DONT use = 1!
好的,我正在尝试使用PHP为我的网站的服务器端编写程序。使用Netbeans作为我的首选IDE我在尝试编写一个函数时会遇到错误,该函数将在关联数组中存储单个行。 当我尝试返回变量$ SelectedRow时出现问题。它会导致“无法访问的状态”警告。这导致程序在其表面上变得平坦。 我可以在不包含在函数中的情况下使用此代码。但是,当我学会编写程序时,我并不觉得这是解决问题的方法。
附注: 这是我在SO上发布的第一个问题,因此非常感谢建设性的批评和提示。我很乐意发布任何有助于答案或任何其他类型的规范。 我不相信这是一个所谓的“复制”问题,因为我还没有找到另一个解决PHP问题的SO问题。 如果有人对我的代码有任何建议,一般情况下,我会听到,因为我刚开始这整个CS的事情。
答案 0 :(得分:3)
一次只能return
次。第一个return
之后的所有内容都无法访问。
我不完全清楚你想要从该功能返回什么,但你只能返回一个值。
答案 1 :(得分:2)
return
命令取消了函数的其余部分,因为一旦你使用它,它就达到了它的目的。
关键是将所有信息放入数组并在函数末尾返回,这样就可以访问所有信息。
因此,请尝试将代码更改为:
require_once 'C:/wamp/www/FirstWebsite/CommonFunctions.php';
function SelectRowByIncrementFunc(){
$dbhose = DB_Connect();
$SelectRowByIncrementQuery = "SELECT * FROM trialtable2 ORDER BY ID ASC LIMIT 1";
$result = mysqli_query($dbhose, $SelectRowByIncrementQuery);
$SelectedRow = mysqli_fetch_assoc($result);
$returnArray = array();
$returnArray["SelectRowByIncrementQuery"] = $SelectRowByIncrementQuery;
$returnArray["SelectedRow"] = $SelectedRow;
$returnArray["result"] = $result;
return $returnArray;
}
然后您可以访问如下信息:
$selectedArray = SelectRowByIncrementFunc();
$row = $selectedArray["SelectedRow"]
等等......