gpt4 book ai didi

php - 无法更新表 PDO 更新

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:45 24 4
gpt4 key购买 nike

我正在尝试使用 PDO 更新数据库中的表。目前我正在提交表单,除了白屏什么都没有,我已经启用了所有错误报告选项,但仍然只有白屏。我一直盯着代码看一辈子,但仍然可以'解决问题。向正确的方向插入将不胜感激......谢谢

require('includes/config.php'); 

//if not logged in redirect to login page
if(!$user->is_logged_in()){ header('Location: login.php'); }

$signedin = $_SESSION['username'];

$sql = "UPDATE member SET firstname = :firstname,
lastname = :lastname,
username = :username,
email = :email,
age = :age,
country = :country
where username = $signedin";
$stmt = $db->prepare($sql);
$stmt->bindParam(':firstname', $_POST['firstname'], PDO::PARAM_STR);
$stmt->bindParam(':lastname', $_POST['$lastname'], PDO::PARAM_STR);
$stmt->bindParam(':username', $_POST['username'], PDO::PARAM_STR);
// use PARAM_STR although a number
$stmt->bindParam(':email', $_POST['email'], PDO::PARAM_STR);
$stmt->bindParam(':age', $_POST['age'], PDO::PARAM_STR);
$stmt->bindParam(':country', $_POST['country'], PDO::PARAM_INT);
$stmt= $db->execute($sql);
?>

最佳答案

execute() 函数不需要 $sql(您在 prepare() 中提供)

$stmt->execute();

接下来,您应该将所有数据传递到准备好的语句中,否则您就达不到目的(这是最大的安全性)。所以让我们删除

$sql = "UPDATE member SET firstname = :firstname, 
lastname = :lastname,
username = :username,
email = :email,
age = :age,
country = :country
where username = :username";
//snip
$stmt->bindParam(':username', $_SESSION['username'], PDO::PARAM_STR);

关于php - 无法更新表 PDO 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35658561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com