Php脚本,它检查税号是否有正确的公司名称输入一些其他表单字段与mysql


Php script which checks if tax number has right company name on input some other form fields with mysql

我在一个PHP脚本中遇到了一个问题,该脚本在输入一些其他表单字段并插入MySQL时检查税号是否有正确的公司名称。我想要的是放一些控制代码——也许是"从formCompany=的公司中选择不同的formCompany"$formCompany。"或者一些代码,用于检查输入表单中公司名称的taxid是否正确。有人知道如何做到这一点吗?任何例子都是受欢迎的。

我有一个简单地将表单字段中的数据输入MySQL数据库的脚本:

$db=mysql_connect($hostname, $db_user, $db_password);
    mysql_select_db($database,$db);
$taxid=mysql_real_escape_string($_POST['taxid']);
$formCompany=mysql_real_escape_string($_POST['formCompany']);
$formOffice=mysql_real_escape_string($_POST['formOffice']);
$formBr=mysql_real_escape_string($_POST['formBr']);
$formContact=mysql_real_escape_string($_POST['formContact']);
//trim
$id=trim($id);
$taxid=trim($taxid);
$formCompany=trim($formCompany);
$formOffice=trim($formOffice);
$formBr=trim($formBr);
$formContact=trim($formContact);
if($_POST['taxid']==''||$_POST['formCompany']=='') {
       echo '<p style="color: red">Input relevant data!<p>';
   } else { 
      $sql = "INSERT INTO company (taxid, formCompany,formOffice,formBr,formContact) VALUES ('$taxid','$formCompany','$formOffice','$formBr', '$formContact')";
   if(!$result = mysql_query($sql, $db)) {
      echo "ERROR: ".mysql_error();
   } else {
      header("Refresh: 0; url=main.php");
   }
}

首先,在if语句之前添加此代码

$taxcheck = mysql_query("SELECT * FROM company WHERE taxid = '" . $taxid . "' ");
if (mysql_num_rows($taxcheck)) { $exists = true; }
else { $exists = false; }

然后更改这条线路

if($_POST['taxid']==''||$_POST['formCompany']=='')

if($_POST['taxid'] == "" || $_POST['formCompany'] == "" || $exists == true)

此代码将防止您使用一个税务ID号与多家公司合作。

据我所知,在您的应用程序中,两家公司(formCompany)不能拥有相同的税务id,对吧?如果是,最简单的方法是在company上创建一个唯一的索引。CCD_ 2。然后,任何插入另一家具有相同税务id的公司的尝试都会引发MySQL错误。

以下是添加唯一索引的查询:

ALTER TABLE `company` ADD UNIQUE INDEX `idx_u_taxid` (`taxid`);

希望它能有所帮助!