Search code examples
phpmysqlarray-difference

displaying array difference in php when arrays coming from mysql_fetch_array


I'm designing a php script which shows the available buses of a certain travel agency on a given date. This is the php code snippet.

$query1 = mysql_query("SELECT bus_id FROM schedule WHERE travel_agency_id = '".$travel_agency_id."' AND scheduleddate ='".$busDate."'");
$query2 = mysql_query("SELECT bus_id FROM pc WHERE travel_agency_id = '".$travel_agency_id."' ");

$array1 = array(@mysql_fetch_array($query1));
$array2 = array(@mysql_fetch_array($query2));
$diff = array_diff($array2, $array1);
print_r ($diff);

I thought that the above query will print the "bus_id"s of the travel agency id "$travel_agency_id" on the given date "$busDate". However an error occurred as following.

Notice: Array to string conversion in.......... Array ( [0] => )

Could anyone explain why this error occurred..? How can I use "echo" to display the array of available buses (id) ?


Solution

  • Try this..

        $query1 = mysql_query("SELECT bus_id FROM schedule WHERE travel_agency_id = '".$travel_agency_id."' AND scheduleddate ='".$busDate."'");
        $query2 = mysql_query("SELECT bus_id FROM pc WHERE travel_agency_id = '".$travel_agency_id."' ");
        if(mysql_num_rows($query1) > 0 && mysql_num_rows($query2) > 0 ){
        $array1 = mysql_fetch_array($query1);
        $array2 = mysql_fetch_array($query2);
        $diff = array_diff($array2, $array1);
        print_r ($diff);
    }