gpt4 book ai didi

PHP/mySQL---选择存在另一个值的最大值

转载 作者:行者123 更新时间:2023-11-29 13:50:41 26 4
gpt4 key购买 nike

我最近正在与我的一个 friend 一起使用 PHP 和 MYSQL 进行一个项目。我似乎一遍又一遍地遇到同样的问题。

我有一个存储 2 个值的数据库设置:id(自动增量)和 user_id。

当脚本启动时,它会将 id 和 user_id 写入数据库。 user_id 是预先分配的。一旦发生这种情况,就会发生另一个查询,该查询在表中查找最大“id”,其中存在特定的“user_id”。然后将其写入文件名,脚本就完成了。

我遇到问题的部分是它获取最大 id 的部分。这是我的代码:

<?php
$connect = mysql_connect('localhost','root','PASSWORD') or die("Couldn't connect to database");
mysql_select_db('post', $connect) or die("Couldn't find database");
$user = $_SESSION['id'];
$post_data = $_POST['post'];

$query = mysql_query("INSERT INTO `post`(`id`, `user`) VALUES ('','$user')") or die("failed to connect to database");

$idquery = mysql_query("SELECT * FROM post WHERE id=(SELECT MAX(id) FROM post) AND user='$user'") or die("failed to find max post");

while($row = mysql_fetch_array($idquery) or die("failed to query max post")){
$db_postid = $row['id'];
}
$fc = fopen("./users/post" . $id . ".txt","r+") or die("failed to create file");
fwrite($fc,$post_data) or die("failed to write to file");
fclose($fc) or die("failed to close file");
?>

有人有什么建议吗?非常感谢。

最佳答案

我不确定您是否需要选择 MAX id。 PHP有一个函数:

mysql_insert_id - 检索先前查询(通常是 INSERT)为 AUTO_INCRMENT 列生成的 ID。我想,这就是你的情况。

由于您只插入 1 行,请尝试以下操作:

$db_postid = mysql_insert_id();

请不要使用 mysql_* 函数,它们已被弃用。请改用 mysqli。此外,您的代码容易受到 SQL 注入(inject)的攻击:在 INSERT 查询中使用 $user 变量之前,您不会引用它。

关于PHP/mySQL---选择存在另一个值的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16723794/

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