1
我试图根据填充的下拉列表更新用户信息。我能够访问主键并将其回显(ID),但我似乎无法得到信息更新。使用变量更新数据库表
这是我的功能;
function updateTable() {
if (isset($_POST['submit'])) {
global $db;
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$address = $_POST['address'];
$city = $_POST['city'];
$state = $_POST['state'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$category = $_POST['category'];
$id = $_POST['users'];
$query = "UPDATE customers SET ";
$query.= "first_name = '$first_name', ";
$query.= "last_name = '$last_name' ";
$query.= "address = '$address', ";
$query.= "city = '$city' ";
$query.= "state = '$state', ";
$query.= "phone = '$phone' ";
$query.= "email = '$email', ";
$query.= "category = '$category' ";
$query.= "WHERE id = $id ";
echo $id;
$statement = $db->prepare($query);
Try
{
$statement->execute();
$users = $statement->fetchAll();
}
Catch (PDOException $e)
{
$error_message = $e->getMessage();
include('database_error.php');
exit();
}
$statement->closeCursor();
}
}
检查您的查询是否成功 - 如果没有,它将返回布尔值false。在这种情况下,您可以使用错误处理来查看出错的地方 - 记录或打印错误。在这种情况下,您的查询中存在拼写错误,在''last_name'后面缺少逗号。 – andrewsi
在更一般的说明 - 这是*而不是*你应该如何生成你的SQL。这会在您的代码中引入巨大的注入漏洞。您正在使用的数据库库将允许您使用准备好的语句并绑定参数。 _使用它们_。 – andrewsi
也在电话='$电话'“和'”城市='$城市'“'和类别也缺少逗号 – Standej