ログインしてスレッドを投稿できるシンプルなフォーラムを作成しました。ユーザー テーブルとトピック テーブルがあります。スレッドを投稿すると、id、タイトル、メッセージ、日付、ユーザー名を含むトピック テーブルに情報が送信されます。問題は、数字のみを含むユーザー名でログインした場合にのみスレッドを投稿できることです。VARCHARに変更したINTにtopic_by(ユーザー名)があることに気付きました。それでも問題は解決しませんでしたが、ユーザー名に数字しか含まれていない場合にのみ機能します。文字を含むユーザー名で投稿しようとすると、次の行が表示されます。
「フィールド リスト」の不明な列「asd」
テーブルの削除と再作成を試みました。
これは、データを送信するコードです。
$sql="INSERT INTO $tbl_name(topic_id, topic_title, topic_message, topic_date, topic_by)
VALUES ('NULL', '$title', '$message', '$datetime', ".$_SESSION["username"].")";
アカウントを登録すると、user_name を含むデータが users テーブルに送信されます。これは、topic_by 行のプロパティが同じであっても、文字や数字で機能します。