php functions within functions.

Posted by Adamski on Stack Overflow See other posts from Stack Overflow or by Adamski
Published on 2010-12-21T20:47:31Z Indexed on 2010/12/21 20:54 UTC
Read the original article Hit count: 188

Filed under:
|

Hi all, ihave created a simple project to help me get to grips with php and mysql, but have run into a minor issue, i have a working solution but would like to understand why i cannot run this code successfully this way, ill explain:

i have a function,

function fetch_all_movies(){
        global $connection;
        $query = 'select distinct * FROM `'.TABLE_MOVIE.'` ORDER BY movieName ASC';
        $stmt = mysqli_prepare($connection,$query);
        mysqli_execute($stmt);
        mysqli_stmt_bind_result($stmt,$id,$name,$genre,$date,$year);
        while(mysqli_stmt_fetch($stmt)){
            $editUrl = "index.php?a=editMovie&movieId=".$id."";
            $delUrl = "index.php?a=delMovie&movieId=".$id."";
            echo "<tr><td>".$id."</td><td>".$name."</td><td>".$date."</td><td>".get_actors($id)."</td><td><a href=\"".$editUrl."\">Edit</a> | <a href=\"".$delUrl."\">Delete</a></td></tr>";    
        }
    }

this fetches all the movies in my db, then i wish to get the count of actors for each film, so i pass in the get_actors($id) function which gets the movie id and then gives me the count of how many actors are realted to a film.

here is the function for that:

function get_actors($movieId){
        global $connection;
        $query = 'SELECT  DISTINCT COUNT(*) FROM `'.TABLE_ACTORS.'` WHERE movieId = "'.$movieId.'"';
        $result = mysqli_query($connection,$query);
        $row = mysqli_fetch_array($result);
        return $row[0];
    }

the functions both work perfect when called separately, i just would like to understand when i pass the function inside a function i get this warning:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/MAMP/htdocs/movie_db/includes/functions.inc.php on line 287

could anyone help me understand why?

many thanks.

© Stack Overflow or respective owner

Related posts about php

Related posts about mysql