a.php ページを通じて URL を通じて 2 つのパラメーターを b.php ページに渡し、渡された 2 つのパラメーターを b.php ページを通じて mysql データベースに書き込みました。しかし、なぜ 2 つの同一のレコードがデータベースに追加されるのでしょうか。通常、パラメーターを渡さずに 1 日分のレコードを書き込みます。代わりに 1 つのパラメーターを渡すと、2 つの同一のレコードが書き込まれます。 これは、レコードを書き込むためのコードです。
<?phpheader("Content-Type:text/html; charset=utf-8");include('MY_PHP_file/mysql_connect.php');$sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())";// $sql = "INSERT INTO user_action (user_id, relation_id, concern_time) VALUES (0, 9, now())";if(mysql_query($sql));echo '<script>alert(\'操作成功!!\'); location.href=\'user_action.php\';</script>';// else// echo '<script>alert("操作失败,请重试!!"); location.href="user_action.php";</script>';?>
完了したって言いませんでしたか?
SQL コマンド文字列に従ってください
$sql = "INSERT INTO user_action (user_id, relationship_id, respect_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())" ;
パラメータが渡されない場合、実際の実行は
INSERT INTO user_action (user_id, relationship_id, respect_time) VALUES (, , now()) です
これは間違った命令であり、データを挿入することは不可能です
しかし、あなたは「もしあなたが渡さないでください。パラメータは通常どおりレコードに書き込まれます。」 明らかに、このレコードは別の場所に挿入されました
あなたのコードはこれ以上のものであり、他の場所の影響を受ける可能性があります。
終わったって言いませんでしたか?
SQL コマンド文字列に従ってください
$sql = "INSERT INTO user_action (user_id, relationship_id, respect_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())" ;
パラメーターが渡されない場合、実際の実行は
INSERT INTO user_action (user_id, relationship_id, respect_time) VALUES (, , now()) です
これは間違った命令であり、データを挿入することは不可能です
しかし、あなたは「もしあなたが渡さないでください パラメータは通常どおりレコードに書き込まれます。」 明らかに、このレコードは別の場所に挿入されます
完了したと言いませんでしたか?
SQL コマンド文字列に従ってください
$sql = "INSERT INTO user_action (user_id, relationship_id, respect_time) VALUES ({$_GET['user_id']}, {$_GET['relation_id']}, now())" ;
パラメータが渡されない場合、実際の実行は
INSERT INTO user_action (user_id, relationship_id, respect_time) VALUES (, , now()) です
これは間違った命令であり、データを挿入することは不可能です
しかし、あなたは「もしあなたが渡さないでください パラメーターは通常どおりレコードに書き込まれます。」 明らかに、このレコードは別の場所に挿入されました
URL を b.php に送信します。ページは a.php ページを通じて 2 つのパラメーターを渡し、渡された 2 つのパラメーターを b.php ページを通じて mysql データベースに書き込みます
まず b.php を直接呼び出して、2 つのレコードが挿入されているかどうかを確認します。
b.php が正常であれば、問題は a.php にあり、その逆も同様です。
提供されたコードを見ると、insert ステートメントが 1 つしかないため、2 つのレコードは挿入されません。
ページ a からページ b へのリクエストヘッダーにリファラー情報があるかどうかを確認してください。これにより、ステートメントが繰り返し送信される問題が発生する可能性があります。パラメーターを使用してアドレスバーに b ページのアドレスを直接入力して、同じデータが書き込まれるかどうかを確認してみてください