Php 在PDO中获取并发布
我在示例页面中遇到问题,该页面将从url“update.php?id=1”检索学生id以在查询中使用它,当我在查询中手动写入id时,它就工作了。。不明白 update.phpPhp 在PDO中获取并发布,php,pdo,Php,Pdo,我在示例页面中遇到问题,该页面将从url“update.php?id=1”检索学生id以在查询中使用它,当我在查询中手动写入id时,它就工作了。。不明白 update.php <?php require 'database.php'; $id=$_GET['id']; if (!empty($_POST)) { $name=$_POST['name']; $mobile=$_POST['mobile']; $pdo=Database::connect(); $sql="UPDATE stu
<?php
require 'database.php';
$id=$_GET['id'];
if (!empty($_POST)) {
$name=$_POST['name'];
$mobile=$_POST['mobile'];
$pdo=Database::connect();
$sql="UPDATE students SET name=? , mobile=? WHERE id=?";
$q=$pdo->prepare($sql);
$q->execute(array($name,$mobile,$id));
Database::disconnect();
header('Location: index.php');
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div>
<div>
<div>
<h3>Update Student Information</h3>
</div>
<form action="update.php" method="post">
<div>
<label>Name</label>
<div>
<input name="name" type="text">
</div>
</div>
<div>
<label>Mobile No.</label>
<div>
<input name="mobile" type="text">
</div>
</div>
<div>
<button type="submit">Add</button>
<a href="index.php">Back</a>
</div>
</form>
</div>
</div>
</body>
</html>
更新学生资料
名称
流动电话号码。
添加
更新:为了澄清这一点,id从其他页面的url地址检索,就像我说的,而不是从html表单检索。。。url'update.php?id=1'我应该怎么做 index.php
<?php
include 'database.php';
$pdo = Database::connect();
$sql = 'SELECT * FROM students';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['name'] . '</td>';
echo '<td>'. $row['mobile'] . '</td>';
echo '<td><a href="show.php?id='. $row['id'].'">Show</a></td>';
echo '<td><a href="update.php?id='. $row['id'].">Update</a></td>';
echo '</tr>';
}
Database::disconnect();
?>
要查看PDO抛出的错误,请添加以下代码:
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
此外,您还应添加以下内容(在文件顶部):
另一个想法:可能帖子中的内容是空的?您的查询中没有使用$id
它应该是像$sql=“updatestudents SET name=?,mobile=?WHERE id=“.$id.”为什么不将id变量与POST表单一起发送呢
<input type="hidden" name="id" value="x">
然后使用
$\u POST['id']
而不是$\u GET['id']
检索它,您可以使用$id=$\u GET['id']代码>GET
但您的表单是POST
?!为了明确这一点,id从其他页面的url地址检索,就像我说的,而不是从html表单检索。。。url'update.php?id=1'我应该怎么做?您好,请看一看,以明确从其他页面的url地址检索id,就像我说的不是从html表单检索的一样。。。url'update.php?id=1'我应该怎么做?你不必在url中发送id(GET就是这么做的),你可以在POST表单中发送。
<input type="hidden" name="id" value="x">