voornaam
en familienaam
の欄にvolledige_naam
という列をまとめたいと思います。 しかし、私はまた、フィールドをvoornaam
en familienaam
のデータベースに保存したいと思っています。PHPで2つのフォームバーをマージする
私はif
機能で回避しようとしましたが、エラーが発生しています。
誰かがこれについてどうやったらいいのでしょうか?
mysqlテーブル作成スクリプト。
function CreateTable()
{
$qry = "Create Table $this->tablename (".
"id_user INT NOT NULL AUTO_INCREMENT ,".
"volledige_naam VARCHAR(128) NOT NULL ,".
"voornaam VARCHAR(128) NOT NULL ,".
"familienaam VARCHAR(128) NOT NULL ,".
"adres VARCHAR(128) NOT NULL ,".
"postcode VARCHAR(128) NOT NULL ,".
"gemeente VARCHAR(128) NOT NULL ,".
"dob VARCHAR(128) NOT NULL ,".
"tele VARCHAR(128) NOT NULL ,".
"email VARCHAR(64) NOT NULL ,".
"username VARCHAR(16) NOT NULL ,".
"password VARCHAR(32) NOT NULL ,".
"confirmcode VARCHAR(32) ,".
"PRIMARY KEY (id_user)".
")";
if(!mysql_query($qry,$this->connection))
{
$this->HandleDBError("Error creating the table \nquery was\n $qry");
return false;
}
return true;
}
入力スクリプトのコレクション
function CollectRegistrationSubmission(&$formvars)
{
$formvars['voornaam'] = $this->Sanitize($_POST['voornaam']);
$formvars['familienaam'] = $this->Sanitize($_POST['familienaam']);
mysqlのスクリプトに挿入します。
function InsertIntoDB(&$formvars)
{
$confirmcode = $this->MakeConfirmationMd5($formvars['email']);
$formvars['confirmcode'] = $confirmcode;
$insert_query = 'insert into '.$this->tablename.'(
volledige_naam,
voornaam,
familienaam,
adres,
postcode,
gemeente,
dob,
tele,
email,
username,
password,
confirmcode
)
values
(
"' . $this->SanitizeForSQL($formvars['volledige_naam']) . '",
"' . $this->SanitizeForSQL($formvars['voornaam']) . '",
"' . $this->SanitizeForSQL($formvars['familienaam']) . '",
"' . $this->SanitizeForSQL($formvars['adres']) . '",
"' . $this->SanitizeForSQL($formvars['postcode']) . '",
"' . $this->SanitizeForSQL($formvars['gemeente']) . '",
"' . $this->SanitizeForSQL($formvars['dob']) . '",
"' . $this->SanitizeForSQL($formvars['tele']) . '",
"' . $this->SanitizeForSQL($formvars['email']) . '",
"' . $this->SanitizeForSQL($formvars['username']) . '",
"' . md5($formvars['password']) . '",
"' . $confirmcode . '"
)';
if(!mysql_query($insert_query ,$this->connection))
{
$this->HandleDBError("Error inserting data to the table\nquery:$insert_query");
return false;
}
return true;
これらのmysql_ *関数の使用をやめる必要があります。彼らは今6年間非難されています。 PDOは10年以上にわたって存在しています。 – miken32
重複したデータをデータベースに格納することは理想的ではありません。 PHPを使用する際、それらを分離して結合しないでください。また、選択したクエリから既に参加させることもできます。それはあなたが欲しいものですか? – sidyll
検索のためにデータを複製する必要があります。私はどうやって一緒に得るのか分かりません。 – WouterS