需要选择该行中的特定行和特定列,并将其与php变量进行比较

This is my block of code for doing that. It works fine until it reaches the last if statement. I cannot get it to find the Graphics column using the Department_ID. I am trying to check if the user input is equal to a id within the table. Then check if that id requires graphic work done. To do that, I need to find out that for that specific project graphic is a 1 in the database.

if($graphics_id != Null)
{   
    $query = mysqli_query($connect,"SELECT * FROM Project_Overview WHERE Project_ID='".$graphics_id."'"); 
    $row = mysqli_fetch_assoc($query);
    //echo $row['Project_ID'];

    if($graphics_id == $row['Project_ID']) //if the graphics_id matches a project_id in the table
    {
        $result =  mysqli_query($connect, "SELECT Graphics FROM Department WHERE Department_ID ='".$graphics_id."'")
        $row = mysqli_fetch_assoc($result);

        if($result)
        {
            echo $row['Department_ID'];
        } else {
            echo "This Project does not require graphics!"
        }   
    } else {
        echo "Project_ID ".$graphics_id." does not exist!";
    }       
}

A few thoughts:

  • The second SELECT Statement selects the Graphics column, but later you are echoing $row['Department_ID']; which should be empty as the only key in $row would be Graphics
  • The last if-Statement is if($result). Don't you mean if($row)? If $result is false (and hence "This Project does not require graphics!" is printed out), this would indicate, that mysqli_query has failed, possibly because of an error in your second SQL statement.
  • And, as ThomasEllis said, a JOIN would be nicer and SELECT * is not wrong but returns (probably) more than you need.
  • Depending on where $graphics_id comes from (a user input?) you should consider escaping it for security reasons ($graphics_id_escaped = mysqli_real_escape_string($connect, $graphics_id); - just in case ;)