2009-03-10 8 views
1

1つのmysql_queryで2つのSQL文を実行しようとしています。mysql_queryのSELECTの後のINSERT文

$mySql = mysql_query("SELECT itemid, points FROM items WHERE id='1' UPDATE accounts SET userpoints = '1000'"); 

これは可能ですか?ありがとう!

答えて

3

mysql_queryでクエリを実行できるのは、クエリをセミコロンターミネータで区切っても1つだけです。

あなたはそれらを別々に呼び出す必要があります(this guyにはそれを自動化する方法があります)。

+0

また、WHEREはUPDATEクエリにありません。 – Powerlord

0

あなたが別のクエリからの結果活用することができませんので、私はそれをやってみません(返された値、にmysql_insert_idを()、...)

+0

それがうまくいかない主な理由です) – Ross

2

あなたがmysqli_multi_query()を使用することができますmysqliの使用している場合

+0

より良い解決策 - PHP5を使用している場合、MySQLiを活用してください! – Ross

+0

これには注意してください。MySQLiは**この種のコードを許可しているので** SQLインジェクション**の影響を受けやすくなっています**:http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Johan

関連する問題