PHP中无法访问的语句

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"]

等等…

上一篇:我的BluetoothChat示例源码阅读笔记


下一篇:java – lambda表达式无法在netbeans jdk 1.8项目中工作