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的事情.
解决方法:
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"]
等等…