gpt4 book ai didi

php - 向数据库表中插入正确的值而不是 0

转载 作者:行者123 更新时间:2023-11-29 07:06:14 25 4
gpt4 key购买 nike

我正在为我的大学项目制作一个简单的网上商店,它使用数据库中的两个表(用户和项目)。我尝试将有关特定项目的一些信息插入数据库。最后一列是登录用户的 ID。我进行查询,从“用户”表接收实际登录用户的 ID。当我通过 echo 使用此变量 ($laSTLogin) 打印时,它显示正确的值。不幸的是,当我尝试使用插入查询将 id 插入表“items”时,出现 0 而不是正确的值(例如 5)。有谁知道如何解决我的问题?我将不胜感激。

$idlogin = "SELECT id FROM users WHERE login=:login";
$query = $db->prepare($idlogin);

$query->bindParam(":login", $_SESSION['login']);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
$lastlogin = $row["id"];

$sql = "INSERT INTO `items` VALUES (NULL, :name, :description, :cust_id)";
$params = [ ":name" => trim($_POST["name"]),
":description" => trim($_POST["description"]),
":cust_id" => '$lastlogin'];
$query = $db->prepare($sql);
$query->execute($params);

最佳答案

您不必将 $laSTLogin 放在参数的引号之间。如果这样做,mysql 会将其视为值为 "$laSTLogin" 的字符串。 Mysql 将无法将其解析为整数并添加值 0

$params = [ 
":name" => trim($_POST["name"]),
":description" => trim($_POST["description"]),
":cust_id" => $lastlogin
];

关于php - 向数据库表中插入正确的值而不是 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41503703/

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