Я пытаюсь обновить же поле над различными строками, используя PDO и MYSQL, я создать таблицу с заявлением, а затем передать идентификатор & «результат» (обновление статуса) в php, следующий код для моей таблицы, но когда я перехожу к обновлению, сначала он сообщает мне, что существует множество параметров привязки, даже когда я вводим значение для всех полей, сгенерированных таблицей, и он по-прежнему не обновляет таблицу!Multiple Mysql обновления в одном запросе
<form action='' method='POST'>
<table width="auto" class="table table-bordered table-hover">
<tr>
<th class='col-md-1'>ID</th>
<th class='col-md-1'>User ID</th>
<th class='col-md-1'>Name</th>
<th class='col-md-1'>Date submited</th>
<th class='col-md-1'>Date Requested</th>
<th class='col-md-1'>Status</th>
</tr>
<?php
$sql = "SELECT * FROM data";
$sth = $pdo->query($sql);
$count= $sth->rowCount();
while($row = $sth->fetch()) {
echo "<tr>";
echo "<td>" . $row['id']. "</td>";
echo "<td>" . $row['user_id']. "</td>";
echo "<td>" . $row['Name']. "</td>";
echo "<td>" .$row['Date_submited']. "</td>";
echo "<td>" .$row['Date_requested']. "</td>";
echo "<td>" .$row['Status']. "</td>";
echo "<td> <select name='Status[]' value=''> <option disabled selected='true'>Please Select</option> <option value='denied'>Denied</option> <option value='approved'>Approved</option> </td>";
echo "<input type='hidden' name='id[]' value='".$row['id']."' />";
echo "</tr>";
}
?>
<td> <input type='submit' name='approve' class='btn btn-default' value='submit'/></td>
</table>
</form>
И это мой запрос на обновление:
if (isset($_POST['approve'])){
$result = $_POST['Status'];
$id = $_POST['id'];
$a = count($id);
try{
$sth = $pdo->prepare('UPDATE data
SET
Status = :Status
WHERE id = :id
');
$i = 0;
while ($i < $a) {
$sth->bindParam(':Status', $result[$i]);
$sth->execute();
$i++;
}
}
catch(PDOException $e) {
echo "I'm sorry, but there was an error updating the database.";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
}
Вы только связывая один параметр, ваш запрос требует два. –
"Статус =: Статус WHERE id =: id" где второй параметр в этом запросе? – Dan
: Статус один,: id - второй. –