5

I'm using 5.1.41-3ubuntu12.10 for my MySQL version.

UPDATE profiledata SET aboutyou = '$aboutyou', quotes = '$quotes' WHERE uid = '$sess_uid' 

and

UPDATE profileprivacy SET aboutyouPrivacy = '$aboutyouPrivacy', quotesPrivacy = '$quotesPrivacy' WHERE uid='$sess_uid' 

$sess_uid is the same for both. I was wondering if I could combine both MySQL queries into one mysql_query.

I was thinking it would be something like SET profiledata.aboutyou = 'Just a developer.', not really sure.

2
  • 1
    Fairly certain that you can't. Commented May 25, 2011 at 17:55
  • At best you could use mysqli::multi_query php.net/manual/en/mysqli.multi-query.php to send a single command to the server versus two separate calls, assuming your PHP install supports mysqli. Commented May 25, 2011 at 17:58

2 Answers 2

8

You can use a join like this:

$query = "UPDATE profiledata t1 JOIN profileprivacy t2 ON (t1.uid = t2.uid) SET t1.aboutyou = '$aboutyou', t1.quotes = '$quotes', t2.aboutyouPrivacy = '$aboutyouPrivacy', t2.quotesPrivacy = '$quotesPrivacy' WHERE t1.uid = '$sess_uid'"; 
Sign up to request clarification or add additional context in comments.

Comments

1

MySQL does have multi-table update support: http://dev.mysql.com/doc/refman/5.0/en/update.html.

UPDATE profiledata, profileprivacy SET aboutYou = ..., aboutyouPrivacy = ... WHERE (profiledata.uid = $sess_uid) OR (aboutyouPrivacy.uid = $sess_uid) 

or something similar should do the trick.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.