doulin9679
doulin9679
2016-05-24 02:10

你如何使用mysqli_stmt_fetch()[关闭]获取id

已采纳

im new in mysqli prepared and i convert all my mysqli to mysqli prepared.

i want to get the id of the specific data and i can easily do that in mysqli. here is my old code:

        echo "<th>".$record['first_name']."</th>";
        echo "<th>".$record['middle_name']."</th>";
        echo "<th>".$record['last_name']."</th>";
        echo "<th>".$record['date_added']."</th>";
        echo "<th>".$record['crew_status']."</th>";
        echo "<th><a target='_blank' href='review.php?id={$record['id']}'>Click</a></th>";
        echo '</tr>';

and in the mysqli prepared, this is my code:

        while($record = mysqli_stmt_fetch($stmt)) {
        echo "<tr>";
        echo "<th>".sprintf("%s", $col2)."</th>";
        echo "<th>".sprintf("%s", $col3)."</th>";
        echo "<th>".sprintf("%s", $col4)."</th>";
        echo "<th>".sprintf("%s", $col18)."</th>";
        echo "<th>".sprintf("%s", $col19)."</th>";
        echo "<th><a target='_blank' href='review.php?id=$rows[] = $col1'>Click</a></th>";
        echo '</tr>';

below is my entire code:

    $search = 'PENDING';
    $query = "SELECT * FROM `crew_info` WHERE `crew_status` = ?";
    $stmt = mysqli_prepare($conn, $query);
    mysqli_stmt_bind_param($stmt, 's', $search);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $col1, $col2, $col3, $col4, $col5, $col6, $col7, $col8, $col9, $col10, $col11, $col12, $col213, $col14, $col15, $col16, $col17, $col18, $col19);

echo '<!DOCTYPE html>
    <html>
    <head>
        <title>All Crew</title>
    </head>
    <body>
    <form method="POST">
        <table border="2" align="center" width="600" cellspacing="3" cellpadding="4">
            <tr>
                <th>First Name</th>
                <th>Middle Name</th>
                <th>Last Name</th>
                <th>Date Added</th>
                <th>Status</th>
                <th>REVIEW</th>
            </tr>
            <tr>';
            $rows = array();
            while($record = mysqli_stmt_fetch($stmt)) {
            echo "<tr>";
            echo "<th>".sprintf("%s", $col2)."</th>";
            echo "<th>".sprintf("%s", $col3)."</th>";
            echo "<th>".sprintf("%s", $col4)."</th>";
            echo "<th>".sprintf("%s", $col18)."</th>";
            echo "<th>".sprintf("%s", $col19)."</th>";
            echo "<th><a target='_blank' href='review.php?id=$rows[] = $col1'>Click</a></th>";
            echo '</tr>';
          }
         echo '</table>
    </form>
    </body>
    </html>';
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • doushi8187 doushi8187 5年前

    instead using

    $rows[] = $col1
    

    why don you change it to $col1 only? remove the $rows[]

    change your code from:

        echo "<th><a target='_blank' href='review.php?id=$rows[] = $col1'>Click</a></th>";
    

    to this

        echo "<th><a target='_blank' href='review.php?id=$col1'>Click</a></th>";
    
    点赞 评论 复制链接分享

为你推荐