tags:

views:

95

answers:

1

Below is the code I am using. Separately they both do what they are supposed to but when I try to use the result from the first statement in the second it doesn't return anything. I know that The first statement always returns the correct data. Can someone tell me what it is I'm doing wrong? Thanks

$connection = mysqli_connect($hostname, $username, $password, $dbname);

$sql = "SELECT banner".$number_id."_id FROM newcms_projectbanners WHERE region_id = ?";

$stmt = mysqli_prepare($connection, $sql);

    mysqli_stmt_bind_param($stmt, "s", $region_id);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $banner_id);

    // display the results
    mysqli_stmt_fetch($stmt);

$sql1 = "SELECT `title`, `active`, `linkto` FROM newcms_banners WHERE id = ?";

$stmt1 = mysqli_prepare($connection, $sql1);

    mysqli_stmt_bind_param($stmt1, "s", $banner_id);
    mysqli_stmt_execute($stmt1);
    mysqli_stmt_bind_result($stmt1, $title, $active, $linkto);

    // display the results
    mysqli_stmt_fetch($stmt1);

EDIT

Upon further inspection, it seems that I can't run two statements in this fashion. What is the correct way of doing it? Thanks

+1  A: 

The code below does the trick.

$post_stmt = $db_connection->prepare("SELECT banner".$number_id."_id FROM newcms_projectbanners WHERE region_id = ?");
$comment_stmt = $db_connection->prepare("SELECT title, active, linkto FROM newcms_banners WHERE id = ?");

$post_stmt->bind_param('i', $region_id);
if ($post_stmt->execute())
{
    $post_stmt->store_result();
    $post_stmt->bind_result($banner_id);

    if ($post_stmt->fetch())
    {
      $comments = array();

      $comment_stmt->bind_param('i', $banner_id);
      if ($comment_stmt->execute())
      {
        $comment_stmt->bind_result($title, $active, $linkto);
        while ($comment_stmt->fetch())
        {
          $html  = "<fieldset title='$label'>" . PHP_EOL;
            $html .= "<form action='$action' id='$id' method='post' class='$class'>" . PHP_EOL;
            $html .= "<label for'title'>Title</label>" . PHP_EOL;
            $html .= "<input type='text' name='title' value='$title' /><br />" . PHP_EOL;
            $html .= "<label for'active'>Active</label>" . PHP_EOL;
            $html .= "<input type='checkbox' name='active' checked /><br />" . PHP_EOL;
            $html .= "<label for'linkto'>Link to</label>" . PHP_EOL;
            $html .= "<input type='text' name='linkto' value='$linkto' /><br />" . PHP_EOL;
            $html .= "<input type='hidden' name='hidden' value='$banner_id'>" . PHP_EOL;
            $html .= "<input type='submit' value'Done'>" . PHP_EOL;
            $html .= "</form>" . PHP_EOL;
            $html .= "</fieldset>" . PHP_EOL;

        }
      }
      else
      {
        printf("Comment statement error: %s\n", $comment_stmt->error);
      }
    }

    $post_stmt->free_result();
}
else
{
printf("Post statement error: %s\n", $post_stmt->error);
}

$post_stmt->close();
$comment_stmt->close();

$db_connection->close();
Drew