I've been stuck on this for a few hours now ...
Here's my code:
$SQLQuery1 = $db_info->prepare("SELECT COUNT(ID) FROM menusize WHERE typesize=:typesize");
        $SQLQuery1->bindValue(':typesize',$_POST['typesize'],PDO::PARAM_STR);
        $SQLQuery1->execute();
        if($SQLQuery1->fetchColumn() > 0) {
            $SQLQuery2 = $db_info->prepare("INSERT INTO menucatagorysize (menucatagory_ID,menusize_ID) VALUES (:catagoryid,(SELECT ID FROM menusize WHERE typesize=:typesize))");
            $SQLQuery2->bindValue(':typesize',$_POST['typesize'],PDO::PARAM_STR);
            $SQLQuery2->bindValue(':catagoryid',$_POST['catagoryid'],PDO::PARAM_STR);
            $SQLQuery2->execute();
        } else {
            $SQLQuery2 = $db_info->prepare("INSERT INTO menusize (typesize) VALUES (:typesize);
                                            SET @menusizeid=LAST_INSERT_ID();
                                            INSERT INTO menucatagorysize (menusize_ID,menucatagory_ID) VALUES (@menusizeid,:catagoryid)");
            $SQLQuery2->bindValue(':typesize',$_POST['typesize'],PDO::PARAM_STR);
            $SQLQuery2->bindValue(':catagoryid',$_POST['catagoryid'],PDO::PARAM_STR);
            $SQLQuery2->execute();
        }
        $SQLQuery3 = $db_info->prepare("SELECT DISTINCT(menuitem_ID) FROM menuprice WHERE menucatagory_ID=:catagoryid");
        $SQLQuery3->bindValue(':catagoryid',$_POST['catagoryid'],PDO::PARAM_STR);
        $SQLQuery3->execute();
        $rows = $SQLQuery3->fetchAll(PDO::FETCH_ASSOC);
So, it will run through the if statement fine, running $SQLQuery1 and $SQLQuery2 (Which ever one is required) without any problems, errors or warnings. But, if it runs the else { part of the code, it will not run $SQLQuery3. Any thoughts?
Thanks :D
EDIT: Got it to work by doing $SQLQuery2=NULL in the else statement ... Sucks that I still cant figure out why it wouldnt work the original way.
 
    