スクリプトに問題があります。基本的に、MySQL テーブルにデータを入力しています。このデータは、テーブルに 1 行として挿入されます。
テーブルにデータの行が入力されると、現在入力されている現在/特定の行に「account_type」列がデフォルト値の「member」から「client」に更新されるようにします。
なぜこのようにする必要があるのか は長い話ですが、単に「クライアント」という値を入力するだけではなく、「メンバー」からクライアントに更新する必要があります。
私が持っているスクリプト (一番下のビット) は現在これを行っていますが、テーブル内のすべての行に影響を与えています。更新に where 句を追加して、入力されている現在の行のみに影響を与える方法はありますか?テーブル内の他のすべての行を更新しませんか?
<?php ob_start();
// CONNECT TO THE DATABASE
require('../../includes/_config/connection.php');
// LOAD FUNCTIONS
require('../../includes/functions.php');
$username = $_POST['username'];
$password = $_POST['password'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$number = $_POST['number'];
$dob = $_POST['dob'];
$accounttype = $_POST['accounttype'];
$query="INSERT INTO ptb_registrations (
username,
password,
firstname,
lastname,
email,
number,
dob,
accounttype,
date_created )
VALUES(
'".$username."',
'".$password."',
'".$firstname."',
'".$lastname."',
'".$email."',
'".$number."',
'".$dob."',
'".$accounttype."',
now()
)";
mysql_query($query) or die();
$query="INSERT INTO ptb_users (
first_name,
last_name,
email,
password )
VALUES(
'".$firstname."',
'".$lastname."',
'".$email."',
MD5('".$password."')
)";
mysql_query($query) or dieerr();
$result = mysql_query("UPDATE ptb_users SET ptb_users.user_id = ptb_users.id,
ptb_users.account_type = 'Client'");