PHP 中无法访问的语句

Posted

技术标签:

【中文标题】PHP 中无法访问的语句【英文标题】:Unreachable Statement in PHP 【发布时间】:2016-03-03 15:39:44 【问题描述】:
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 array($SelectRowByIncrementQuery,$SelectedRow,$result); 【参考方案1】:

您只能return 一次。第一个return 之后的所有内容都无法访问。

我并不完全清楚你想要从那个函数返回什么,但你只能返回一个值。

【讨论】:

【参考方案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"]

等等……

【讨论】:

非常感谢。简单而智能的修复。

以上是关于PHP 中无法访问的语句的主要内容,如果未能解决你的问题,请参考以下文章

在 Fragment 中使用 .getActivity() 后无法访问的语句

PHP写的页面无法访问,报HTTP500错误,这个是怎么回事

代码中显然有一个无法访问的语句,但可以编译 - 为啥? [复制]

iis配置了php环境,发布网站无法访问

PHP为啥在IIS服务器无法访问浏览页面?

为啥 Java 会出现“无法访问的语句”编译器错误?