Adrian Pascua Adrian Pascua - 6 months ago 11
PHP Question

How do you GET the id using mysqli_stmt_fetch()

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>';

Adi Adi
Answer

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>";