-1

データベースにデータを入れるための2つのコードがありますが、エラーが発生しています。以下のコードを確認してください。

$email = "example@hotmail.com"; //email

$pass = "helloworld";  //password

$fname = "Example";  //first name

$lname = "Man"; //last name

$birth = "2012-2-1"; //birthday

$gender = "male"; //gender

$site_prefix = "my_"; //table prefix

このコードは機能せず、エラーを出力します

$sql = "
INSERT INTO `{$site_prefix}login` (`email`,`pass`) 
VALUES ('$email','$pass');
INSERT INTO `{$site_prefix}users` (`fname`,`lname`,`birthday`,`gender`)
VALUES ('$fname','$lname','$birth','$gender')";

mysql_query($sql,$con) or die(mysql_error());

エラー SQL構文にエラーがあります。'INSERT INTO my_users(、、、)VALUES(' Example'、' Ma'at line 2の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認fnameしてくださいlnamebirthdaygender

このコードは正常に機能します

$sql = "INSERT INTO `{$site_prefix}login` (`email`,`pass`) VALUES ('$email','$pass');";

$sql1 = "INSERT INTO `{$site_prefix}users` (`fname`,`lname`,`birthday`,`gender`) VALUES ('$fname','$lname','$birth','$gender')";

mysql_query($sql,$con) or die(mysql_error());
mysql_query($sql1,$con) or die(mysql_error());
4

1 に答える 1

3

mysql_query1 つのクエリで複数のステートメントを処理することはできません。

ドキュメントから:

mysql_query()指定されたlink_identifierに関連付けられているサーバー上の現在アクティブなデータベースに一意のクエリを送信します (複数のクエリはサポートされていません)。

この機能が必要な場合は、mysqli(with )を使用します。mysqli_multi_query

于 2012-04-24T16:03:46.257 に答える