|  | Posted by Jerry Stuckle on 06/11/84 12:00 
Ratfish wrote:> On Jan 16, 4:06 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
 >> Ratfish wrote:
 >>> I'm getting a "2014:: Commands out of sync; you can't run this command
 >>> now" error on a php page when I try to call a second stored procedure
 >>> against a MySQL db.  Does anyone know why I might be getting this
 >>> error?  The error doesn't occur on my development box where I use the
 >>> 'root' db user, but does occur in production where I'm using a non-
 >>> root user record to establish a connection.  I'm essentially opening a
 >>> connection at the top of the php page and then calling multiple stored
 >>> procedures to fetch data.  When I call the 2nd stored procedure I'm
 >>> getting the error.  Any info would be greatly appreciated.
 >>> Aaron
 >> Sorry, my crystal ball is in the shop.  Since you didn't post any code,
 >> I find it impossible to tell what's wrong.
 >>
 >> --
 >> ==================
 >> Remove the "x" from my email address
 >> Jerry Stuckle
 >> JDS Computer Training Corp.
 >> jstuck...@attglobal.net
 >> ==================
 >
 >
 > Here's the code that fails:
 >
 > // load the entertainment record
 > $sql = "call sps_entertainment(?)";
 > $stmt = $link->prepare($sql);
 > if ($link->errno) {die($link->errno.":: ".$link->error);}
 >
 > $stmt->bind_param("i", $EntId);
 >
 > // execute the statement
 > $stmt->execute();
 > if ($link->errno) {die($db->errno.":: ".$link->error);}
 >
 > //if ($result = $link->store_result()) {
 > if ($stmt->bind_result($FEntId,
 >                        $FCreateDate,
 >                        $FCreateUser,
 >                        $FModifyDate,
 >                        $FModifyUser,
 >                        $FEntTypeCode,
 >                        $FEntName,
 >                        $FURL,
 >                        $FPictureQualityCode,
 >                        $FPictureResolutionCode,
 >                        $FRevenueSourceCode,
 >                        $FEntDesc,
 >                        $FEntFullDesc,
 >                        $FSiteStatusCode,
 >                        $FZombiiRatingCode,
 >                        $FEntIconId))
 > {
 >    if ($stmt->fetch())
 >    {
 >       $stmt->free_result();
 >       $stmt->close();
 > ?>
 > do some html here
 > <select id="ddlEntIcon" name="ddlEntIcon">
 >   <option value="*" >(Not Specified)</option>
 >   <option value="NEW" >(Upload new image...)</option>
 > <?php
 > $sql = "call sps_entertainment_icons()";
 > $stmt = $link->prepare($sql);
 > if ($link->errno) {die($link->errno.":: ".$link->error);}
 > // execute the statement  HERE'S WHERE I THINK THE ERROR IS OCCURING!
 > $stmt->execute();
 > if ($link->errno) {die($db->errno.":: ".$link->error);}
 > $stmt->bind_result($EntIconId, $EntIconName);
 > while ($stmt->fetch())
 > {
 >    if ($FEntIconId != "" && $FEntIconId == $EntIconId) {
 >       echo "<option value=\"" . $EntIconId . "\" selected>" .
 > $EntIconName . "</option>\n";
 >    }
 >    else {
 >       echo "<option value=\"" . $EntIconId . "\">" . $EntIconName . "</
 > option>\n";
 >    }
 > }
 > $stmt->free_result();
 > $stmt->close();
 > ?>
 > </select>
 >
 >
 
 OK, what is sps_entertainment returning?
 
 If it's returning more than one row, you need to continue fetching until
 they're all returned.
 
 Also, I see if it returns no rows, you're not freeing the result.  You
 still have to free the result, even if no rows are returned.
 
 --
 ==================
 Remove the "x" from my email address
 Jerry Stuckle
 JDS Computer Training Corp.
 jstucklex@attglobal.net
 ==================
  Navigation: [Reply to this message] |