1

複数のテーブルをチェックするより大きなクエリを書くのは初めてです。SELECT私はうまく機能するこのクエリを持っています:

$result = mysql_query("SELECT * FROM companies WHERE email='$email' UNION SELECT * FROM users WHERE email='$email'") or die(mysql_error());

ただし、このクエリを使用して編集ページをUPDATE実行していますが、これは機能しません。

$sql = mysql_query("UPDATE companies SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email' UNION UPDATE users SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email'") or die(mysql_error());

私は何が間違っているのですか?

4

2 に答える 2

4

更新ステートメントを結合することはできません。あなたは単にそれを別々のコマンドに分割する必要があります。つまり、2つのクエリを実行します。1つは企業用、もう1つはユーザー用です。

于 2012-10-06T23:03:45.740 に答える
0

あなたの質問によると、2つのアップデートでアップデートできます

$sql1="UPDATE companies SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email'";
$sql2="UPDATE users SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email";

また

$emailが存在するテーブルを選択して見つけることができます。

sql1="select name form user where email=$email "
sql2="select name form companies where email=$email "
if(count($sql1>0)){
UPDATE user SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email'
}
if(count($sql2>0)){
UPDATE companies SET name='$name',address='$address',city='$city',state='$state',zip='$zip' WHERE email='$email'
}
于 2015-10-10T10:45:13.057 に答える