Search code examples
phpmysqlnetbeanssyntax-errorunreachable-statement

Unreachable Statement in 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!

Ok, I am trying to write a program for the server end of my website using PHP. Using Netbeans as my IDE of choice I have encountered an error while attempting to write a function which will store a single row in an associative array. The issue arises when I try to return the variable $SelectedRow. It causes an 'Unreachable Statment' warning. This results in the program falling flat on its face. I can get this code to work without being contained in a function. However, I don't really feel that that is the way to go about solving my issues while I learn to write programs.

Side Notes: This is the first question I have posted on SO, so constructive criticism and tips are much appreciated. I am happy to post any specifications that would help an answer or anything else of the sort. I do not believe this is a so-called 'replica' question because I have failed to find another SO question addressing the same issue in PHP as of yet. If anybody has any suggestions about my code, in general, I'd be stoked to hear, as I have only just started this whole CS thing.


Solution

  • The return command cancels the rest of the function, as once you use it, it has served its purpose.

    The key to this is to put all of your information in to an array and return it at the end of the function, that way you can access all of the information.

    So try changing your code to this:

        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;
    }
    

    And then you can access the information like so:

    $selectedArray = SelectRowByIncrementFunc();
    
    $row = $selectedArray["SelectedRow"]
    

    And so forth...