gpt4 book ai didi

php - MySQL UPDATE 查询(PDO)莫名其妙地不起作用

转载 作者:行者123 更新时间:2023-11-30 22:09:08 24 4
gpt4 key购买 nike

我一直在一个网站上工作,最近向它添加了一些更改,尽管我试图注释掉所说的更改,但我的更新查询不起作用——我一直在试图弄清楚为什么过去 3 个小时都无济于事。

if (isset($_POST['submit']))
{
if (count($rated)<$_SESSION['id'])
{
$difference = $_SESSION['id'] - count($rated);

$rated = implode(',',$rated);
while ($difference >= 0)
{
$rated .= "0,";
$difference--;
}
$rated = explode(',',$rated);
}

$rated[$_SESSION['id']] = $_POST['rating'];

$ratings = 0;
$ratingsadded = 0;
foreach ($rated as $user => $rating)
{
if ($rating != 0)
{
$query = $db->prepare("SELECT id, active FROM accounts WHERE id = :id");
$query->execute(array('id' => $user));
$useractive = $query->fetch();

if ($useractive['active'] == 1 || $user == 0 || $user == 50)
{
$ratings++;
$ratingsadded += $rating;
}
else
{
$rated[$user] = 0;
}
}
}
$ratingtotal = $ratingsadded / $ratings;

$query = $db->prepare("UPDATE accounts SET rating = :rating, rated = :rated WHERE id = :id");
$query->execute(array('rating' => $ratingtotal, 'rated' => implode(",",$rated), 'id' => $user['id']));
header('Location: ?user=' . $_GET['user']);
}

注意:最后的查询是我指的那个。

次要说明:我知道我的代码中存在很多低效之处。

完整代码:http://pastebin.com/ybb71U6k

最佳答案

我认为你应该这样写你的执行

$query->execute(array(':rating' => $ratingtotal, ':rated' => implode(",",$rated), ':id' => $user['id']));

注意:在每个命名参数的前面。
引用:http://php.net/manual/en/pdo.prepare.php

关于php - MySQL UPDATE 查询(PDO)莫名其妙地不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701523/

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