2010-02-25 5 views
2

Voici le code que j'utilise. Séparément, ils font tous deux ce qu'ils sont censés faire, mais quand j'essaie d'utiliser le résultat de la première déclaration dans la seconde, il ne retourne rien. Je sais que la première déclaration renvoie toujours les données correctes. Quelqu'un peut-il me dire ce que je fais mal? MerciL'instruction de sélection Mysqli ne fonctionne pas bien avec les résultats d'une autre instruction de sélection Mysqli

$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

Après vérification, il semble que je ne peux pas courir deux déclarations de cette façon. Quelle est la bonne façon de le faire? Merci

Répondre

1

Le code ci-dessous fait l'affaire.

$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(); 
Questions connexes