gpt4 book ai didi

php - 为什么我的 PHP 代码没有更新 SQL

转载 作者:可可西里 更新时间:2023-10-31 22:55:23 25 4
gpt4 key购买 nike

有谁知道为什么这个 PHP 代码不更新 pictures 列,它会更新其余部分,但不会更新 pictures 列,它是更新用户信息所以电子邮件地址,密码和图片我对 PHP 很陌生,所以我真的不知道在查找错误时要查找什么

    <?php 

require("common.php");

if(empty($_SESSION['user']))
{
header("Location: login.php");

die("Redirecting to login.php");
}

if(!empty($_POST))
{
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
die("Invalid E-Mail Address");
}

if($_POST['email'] != $_SESSION['user']['email']['picture'])
{
$query = "
SELECT
1
FROM users
WHERE
email = :email
picture = :picture
";

$query_params = array(
':email' => $_POST['email']
);

try
{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}

$row = $stmt->fetch();
if($row)
{
die("This E-Mail address is already in use");
}
}

if(!empty($_POST['password']))
{
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
$password = hash('sha256', $_POST['password'] . $salt);
for($round = 0; $round < 65536; $round++)
{
$password = hash('sha256', $password . $salt);
}
}
else
{
$password = null;
$salt = null;
}

$query_params = array(
':email' => $_POST['email'],
':user_id' => $_SESSION['user']['id'],
':picture' => $_POST['picture'],
);

if($password !== null)
{
$query_params[':password'] = $password;
$query_params[':salt'] = $salt;
}

$query = "
UPDATE users
SET
email = :email
picture = :picture
";

if($password !== null)
{
$query .= "
, password = :password
, salt = :salt
";
}

$query .= "
WHERE
id = :user_id
";

try
{
// Execute the query
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}

$_SESSION['user']['email']['picture'] = $_POST['email'];

header("Location: private.php");

die("Redirecting to private.php");
}

?>

最佳答案

您缺少一个

$query = " 
UPDATE users
SET
email = :email
picture = :picture
";

你需要把它改成

$query = " 
UPDATE users
SET
email = :email,
picture = :picture
";

关于php - 为什么我的 PHP 代码没有更新 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20665953/

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