0

私はすでに次のようなコードを書いています:

$password = md5($password);
            mysql_query("INSERT INTO `users` (username,password,email,pnum,hintque,hintans) VALUES('$username','$password','$email','$cnum','$hintque','$hintans')");
            mysql_query("INSERT INTO `personal` (userid,fname,lname,address,dob,country,state,city,poscode) VALUES(LAST_INSERT_ID(),'$fname','$lname','$address','$dob','$country','$state','$city'.'$zip')");
            header("location: ../register.php?feedback=Registration Complete. You May Now Login");

ただし、データを挿入する最初のSQL成功のみです。2番目のものは失敗します。両方のクエリを同時にトリガーしたい。

4

4 に答える 4

5

構文エラーがあるため、2 番目のクエリは失敗する可能性があります (最後の値を参照してください.) ,

mysql_query("INSERT INTO `personal` (userid,fname,lname,address,dob,country,state,city,poscode) VALUES(LAST_INSERT_ID(),'$fname','$lname','$address','$dob','$country','$state','$city','$zip')");

また、ご使用はお避けくださいmysql_*その関数ファミリーは現在非推奨であり、 MySQLiPDOなどの最新のものを使用する必要があります。

于 2013-08-20T07:29:08.137 に答える
0

mysqli_multi_queryを試すこともできます

于 2013-08-20T07:30:05.480 に答える
0

スクリプトで 2 つのことを同時に行うことはできません。ほぼ同時に可能です。しかし、通常、それは実際の目標ではありません。代わりに、transactionsすべての本格的なデータベース管理システムによって提供される と呼ばれる構造を見てください。一連の sql ステートメントを、成功または失敗する単一のユニットに結合することができます。

于 2013-08-20T07:28:42.817 に答える