gpt4 book ai didi

php - 插入查询不会将数据添加到我的数据库中。我的语法错了吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:59 25 4
gpt4 key购买 nike

我正在尝试为用户添加到他们的个人资料的每个链接分配一个递增的 ID (posid),特定于他们在表中的 ID。这就是我所拥有的,但似乎没有用。怎么了?我的语法有误吗?

mysql_query("INSERT INTO userlinks (id,hash,url,title,posid)
VALUES (
'".$_SESSION['id']."',
'".md5($_GET['url'])."',
'".$_GET['url']."',
'".$_GET['title']."',
SELECT(IFNULL(SELECT MAX(posid)+1 FROM userlinks
WHERE id='".$_SESSION['id']."'), 1)
)");

最佳答案

如果您不打算使用准备好的语句或 PDO,请使用:

$query = sprintf("INSERT INTO userlinks
(id, hash, url, title, posid)
SELECT %s,
%s,
%s,
%s,
IFNULL(MAX(t.posid), 1)
FROM userlinks t
WHERE id = %s",
mysql_real_escape_string($_SESSION['id']),
MD5(mysql_real_escape_string($_SESSION['url'])),
mysql_real_escape_string($_GET['url']),
mysql_real_escape_string($_GET['title']),
mysql_real_escape_string($_SESSION['id']));

$result = mysql_query($query);

对于 INSERT 语句,您不能将 SELECT 与 VALUES 关键字混合使用 - 一个或另一个,并且 SELECT 支持定义静态值。

其次,MAX(...) + 1 在多用户情况下不可靠——您应该使用 MySQL autoincrement functionality .

引用:

关于php - 插入查询不会将数据添加到我的数据库中。我的语法错了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7962450/

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