2009-07-18 15 views
0

私は2つのフィールドを持っています:1つはカテゴリ名で、その他はドキュメントタイトルです...私がサブミットをクリックすると、ドキュメントのタイトルはカテゴリ名にリンクするドキュメントテーブルに保存されます選択された...他の表にあります。カテゴリは、文書のタイトルのn個の数を持つことができますクエリで2つのテーブルをリンクする

...

$result = mysql_query("UPDATE stinky_menu SET description = '$docuTitle', url = '$linkTitle' WHERE title = '$catID'"); 

は、どのように私はWHERE句での私の他のテーブルに別のクエリを実行することができます。

+0

私はこれが疑似コードであることを望みます。それ以外の場合は、SQLインジェクションに重大な問題があります。 PDOかmysqliのいずれかで準備されたステートメントを使うことをお勧めします。 –

答えて

1

一般的に、私はHTMLフォームの選択ボックスにタイトルではなくカテゴリIDを返すことで、このようなケースを処理します。これにより、参照テーブル(この場合はカテゴリテーブル)への追加参照を必要とせずにレコードを挿入または更新することができます。

1

パラメータの名前付きフォーム(?-formももちろん動作します)を使用すると、あなたが望むことを行う最も簡単な方法は、あなたのUPDATEでFROMとJOINを使用することです - t)が提供:

UPDATE stinkymenu 
SET description = :docuTitle, url = :linkTitle 
FROM stinkymenu 
JOIN categorytable 
ON stinkymenu.catId = categorytable.id 
WHERE categorytable.title = :catId 

は、「準備された文」を使用して、変数にそのパラメータをバインドする方法をPDO's docsを参照してください。

関連する問題