私は最近、友人と一緒にプロジェクトで PHP と MYSQL を扱っていました。私は同じ問題を何度も乗り越えているようです。
id (自動インクリメンタル) と user_id の 2 つの値を格納するデータベース セットアップがあります。
スクリプトが開始されると、id と user_id がデータベースに書き込まれます。user_id は事前に割り当てられています。それが発生すると、特定の「user_id」がある最大の「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");
?>
誰か提案はありますか?ありがとうございます。