<html>
<body>
<?php
	require 'db.php';
	try {
	$query = "SELECT * FROM vid_entry";
	$stmt = $dbc->prepare($query);
	$stmt->execute();
	echo "<table border='1' cellpadding='5'>";
	echo "<tr>";
	echo "<th>Name</th>";
	echo "<th>Phone Number</th>";
	echo "<th>Date Registered</th>";
	echo "<th>Action</th>";
	echo "</tr>";
	while($row=$stmt->fetch(PDO::FETCH_ASSOC)) {
		extract($row);
	echo "<tr>";
	echo "<td>{$vid}</td>";
	echo "<td>{$name}</td>";
	echo "<td>{$url}</td>";
	echo "<td><a href='edit.php?id={$vid}'>Edit</a> <a href='delete.php?id={$vid}'>Delete</a></td>";
	echo "</tr>";
	}
	} catch(PDOException $e) {
		echo "Error: " . $e->getMessage();
	}
	
?>
	</table>
</body>
</html>


Als ik op verzenden druk dan dan laat hij een melding zien "Unable to update record."


**knip**
Wel apart, want deze code haalt alleen informatie op, en update niks.
Laat liever je edit.php zien.

Verder een tipje:
Je hoeft niet elke regel te echo'en ;-)

<?php
require 'db.php';
if(isset($_POST['submit_btn'])) {
	$query = "UPDATE vid_entry SET vid=?, name=? WHERE id=?";
	$stmt = $dbc->prepare($query);
	$stmt->bindParam(1, $_POST['vid']);
	$stmt->bindParam(2, $_POST['name']);
	$stmt->bindParam(3, $_POST['pid']);
	if($stmt->execute()) {
		echo "<script>alert('Record updated.');location.href='index.php'</script>";
	} else {
		die('Unable to update record.');
	}
} else {
try {
$query = "SELECT * FROM vid_entry WHERE id=?";
$stmt = $dbc->prepare($query);
$stmt->bindParam(1, $_GET['id']);
$stmt->execute();
$row=$stmt->fetch(PDO::FETCH_ASSOC);
$vid = $row['vidid'];
$name = $row['vidname'];
$id = $row['id'];
} catch(PDOException $e) {
	echo "Error: " . $e->getMessage();
}

?>
<html>
<body>
<form action="" method="POST">
<input type="hidden" value="<?php echo $id; ?>" name="pid">
ID: <input type="text" name="vid" value="<?php echo $vidid; ?>"/> </br>
Name: <input type="text" name="name" value="<?php echo $vidname; ?>"/> </br>
<input type="submit" name="submit_btn"/>
</form>
</body>
<?php } ?>
</html>
Zorg voor goede foutafhandeling vanuit PDO, en gebruik geen die(). Je script moet altijd bij zulke situaties netjes afgesloten worden.
De variabelen in regels 33-34 zijn niet dezelfde als in regels 21-22, zodat niets wordt getoond na het opvragen, aangenomen dat dat de bedoeling is.

Reageren