4

データベースから mysql クエリを実行して、後で使用するフィールドを返します。

実行するクエリを取得し、echo を使用してフィールドからデータを出力して、結果が期待どおりであることを証明できます。結果のフィールドを変数として保存するためにさまざまなスクリプトを試しましたが、これまでのところ成功していません。

誰でも手伝ってもらえますか。

ここにクエリスクリプトがあります -

$query = mysql_query("SELECT ID FROM users WHERE username = ".$_SESSION['user']); 

while($row = mysql_fetch_object($query) )
{
echo "$row->ID<br />";

ID を変数として保存してテストし、場合によっては他のデータを含む別のテーブルに保存する必要があります。

私はコーダーではなく、他の誰かによって開始された家族向けのプロジェクトを完成させようとしています。

ありがとう。

編集1

データを一時データベースに取り込もうとしましたが、問題が発生しています。

これをphpMyadminに入力すると動作します

INSERT INTO tempusertrip (username,ID) SELECT username,ID FROM users WHERE ID=1

ただし、php スクリプトに追加しても追加されず、ログ ファイルにエラーはありません。こんな感じで追加します

$query1 = ("INSERT INTO temp2 (username,ID) SELECT username,ID FROM users WHERE ID=1");

私のスクリプトには明らかに何か問題がありますが、それが何であるかを理解できないようです。

理想的には、「where ID=1」を使用する代わりに、以前に設定されたセッション ($_SESSION['user']) に含まれるユーザー名に基づいて条件が設定されているデータを入力する必要があります。

任意のガイダンスをいただければ幸いです。

4

1 に答える 1

1

まず、データ用のテーブルを作成する必要があります。接続のみが表示できる一時テーブルにすることも、通常のテーブルにすることもできます (他の接続でデータが必要な場合)。ソースから必要な列 (すべてではない場合) と、実行している作業に必要な追加の列 (ある場合) を決定する必要があります。多くの場合、新しいテーブルの元のテーブルの主キーだけが必要です。MySQL では、新しいテーブルが古いテーブルと同一になる場合は、CREATE ... LIKE old_tbl_name前方互換性のための構文を使用してください。

次に (これはおそらく最初に探していたものです)、古いテーブルの選択から新しいテーブルに挿入します。

INSERT INTO new_tbl_name SELECT ... FROM old_tbl_name WHERE ...

追加の列がある場合は、コピーする列を指定する必要があります。

INSERT INTO selected_users (username) SELECT username FROM users WHERE ...

(列に同じ名前を付ける必要はありませんが、問題を起こす必要はありません。)

于 2013-03-26T02:03:42.020 に答える