gpt4 book ai didi

php - 查询 MySQL 数据库以插入特定记录

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:42 24 4
gpt4 key购买 nike

我正尝试在我的网站上插入有关用户的数据,但我认为我使用的 MySQL 查询无效。我想将值 '$profile' 插入 'pph_user_profile' 表内的 'pph_user_bio' 列,但是在该表内是一个外键链接回名为 'users' 的表,该表存储用户的 '_id' 所以我只想数据库将数据($profile)插入到相应的'_id'中,该'_id'被设置为当前 session ID。

$query = "INSERT INTO pph_user_profile (pph_user_profile) VALUES ($profile)" .
"SELECT _id " .
"FROM users" .
"WHERE _id = ". $_SESSION['_id_of_user'];
$result = mysql_query($query);

我是 MySQL 的新手,所以有人可以告诉我哪里出错了吗?

编辑:

这是一个更新的查询,我仍在尝试做同样的事情,但“pph_user_profile”中不存在任何行,所以它肯定是插入的。

$query = "INSERT INTO pph_user_profile (_id) VALUES " . $_SESSION['_id_of_user'];
mysql_query($query);

$query = "INSERT INTO pph_user_profile (pph_user_bio) VALUES ($bio) WHERE _id = " . $_SESSION['_id_of_user'];
mysql_query($query);

最佳答案

我认为您可能正在寻找 UPDATE 语句而不是 INSERT:

$query = "UPDATE pph_user_profile SET pph_user_profile=$profile" .
"WHERE _id = ". $_SESSION['_id_of_user'];

您可以使用 UPDATE 为现有记录设置值,您可以使用 WHERE 子句指定要更新的记录。

要插入新行,设置两列,您可以这样做:

$query = "INSERT INTO pph_user_profile (pph_user_profile, _id)".
"VALUES ($profile, ". $_SESSION['_id_of_user'] .")";

要插入一个新行,但如果键已经存在则更新它,使用INSERT INTO ... ON DUPLICATE KEY UPDATE:

$query = "INSERT INTO pph_user_profile (pph_user_profile, _id)".
"VALUES ($profile, ". $_SESSION['_id_of_user'] .")".
"ON DUPLICATE KEY UPDATE pph_user_profile = $profile";

关于php - 查询 MySQL 数据库以插入特定记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282856/

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